diff --git a/cmd/aiscan/profile.go b/cmd/aiscan/profile.go index ed44665ff..bf7ee7792 100644 --- a/cmd/aiscan/profile.go +++ b/cmd/aiscan/profile.go @@ -28,6 +28,7 @@ import ( nativeext "github.com/chainreactors/cyber/exts/native" nodeext "github.com/chainreactors/cyber/exts/node" observeext "github.com/chainreactors/cyber/exts/observe" + otelext "github.com/chainreactors/cyber/exts/otel" proxyext "github.com/chainreactors/cyber/exts/proxy" ptyext "github.com/chainreactors/cyber/exts/pty" recapext "github.com/chainreactors/cyber/exts/recap" @@ -188,8 +189,27 @@ func buildAIScanProfile(config config) (*aiscanProfile, error) { } values = append(values, output) } - if len(config.Observe) > 0 { - observer, err := observeext.New(observeext.Options{Kinds: config.Observe}) + lookup := envLookup(config.Option) + options, err := otelext.OptionsFromEnv(lookup) + if err != nil { + return nil, err + } + otelEnabled := options.Endpoint != "" || options.TraceEndpoint != "" || options.LogEndpoint != "" || options.MetricEndpoint != "" + if otelEnabled { + options.ProviderName = config.Base.Provider.Config.Provider + observer, err := otelext.New(options) + if err != nil { + return nil, err + } + values = append(values, observer) + } + observeKinds := config.Observe + // Export existing operation facts whenever any OTel signal is configured. + if otelEnabled && len(observeKinds) == 0 { + observeKinds = []observeext.Kind{observeext.Tools, observeext.Commands, observeext.Processes} + } + if len(observeKinds) > 0 { + observer, err := observeext.New(observeext.Options{Kinds: observeKinds}) if err != nil { return nil, err } diff --git a/docs/README.md b/docs/README.md index bc2df376a..7cd6e09b8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -21,6 +21,8 @@ cyber-harness 将模型、工具和运行环境组合为可以持续执行任务 ## 开发者指南 +现有 AOP 接入 OpenTelemetry、Agent 生命周期、token/工具计量和 SigNoz / Phoenix 配置见[Agent 可观测性](observability.md)。 + [开发者指南](development.md)从可运行的 Go 工具组合推进到会话应用;[扩展开发](developer/extensions.md)说明工具、命令、知识与共享服务的贡献方式;[宿主集成](developer/hosting.md)说明生命周期及终端、Web、协议和协作接入。 构建入口、产物和依赖见[源码构建](../README_CN.md#构建与嵌入),选择所需能力见[自定义最小应用](../README_CN.md#自定义最小应用)。非 Go 客户端见[第三方语言集成](integration.md),字段与错误语义见[API 参考](api.md)。 diff --git a/docs/observability.md b/docs/observability.md new file mode 100644 index 000000000..8a1f49bf1 --- /dev/null +++ b/docs/observability.md @@ -0,0 +1,161 @@ +# Agent 可观测性:现有 AOP 接入 OTel + +状态:2026-10-11,工作区已实现 traces / logs / metrics 并完成 SigNoz / Phoenix 本地验收。本文的验收记录来自本地工作区,测试和验收脚本保留在本地。运行方式见[接入示例](../examples/observability/README.md)。 + +现有 AOP 是采集输入,`exts/otel` 是转换和导出边界。Agent、工具和机制继续发布已有事件;OTel 扩展解释这些事实,生成兼容 GenAI / OpenInference 的 span、关联日志和指标。经同一个 Collector,traces 写入 SigNoz 和 Phoenix,logs / metrics 写入 SigNoz。 + +AOP protobuf 继续服务于 UI、归档、回放和扩展通信。trace/span ID 由独立 OTel SDK 在消费时生成;标准属性属于导出协议,不要求业务侧新增 OTel hooks。 + +```mermaid +flowchart LR + Agent[Agent / Session] --> AOP[现有 AOP Stream] + Observe[observe 工具与资源事件] --> AOP + Mechanisms[compact / eval / JEV / guardrail] --> AOP + AOP --> Bridge[exts/otel AOP bridge] + Bridge --> SDK[独立 Trace / Log / Metric SDK] + SDK --> Collector[Collector] + Collector -->|traces / logs / metrics| SigNoz + Collector -->|traces| Phoenix +``` + +## Pi 参考 + +主要参考 [NikiforovAll/pi-otel](https://github.com/NikiforovAll/pi-otel/tree/bf00f530d3667375a5317a0f425d0918e6cfac7e),并对照 [stnly/pi-otel](https://github.com/stnly/pi-otel/tree/398d40a72a1ba3a599e8596f26c3f148df1e7296)。两者是 Pi 生态扩展,各自有独立实现。 + +| Pi 的做法 | Cyber 接入方式 | +| --- | --- | +| interaction / LLM / tool 生命周期 | 消费已有 Session、Turn、llm_request、operation 生命周期 | +| assistant 消息完成与稍后到达的 usage 分开 | LLM 优先结束于 assistant 消息时间,避免计入工具耗时 | +| 按 call ID 关联并行工具 | 使用已有 operation.Ref 的 operation_id、parent_operation_id、call_id | +| compact/retry/cancel 与因果关联 | 解释现有 status、typed Any、失败和 delegation 信息;缺失事实标注未知 | +| OpenInference / GenAI 与内容开关 | bridge 同时投影,业务层不引入产品 SDK | +| metrics/logs | 在同一 AOP 消费边界投影;与 traces 共享 Resource 和关联上下文 | +| shell W3C 传播 | 当前尚未实现跨进程传播 | + +语义固定到 [OTel GenAI v1.41.0 完整发布文档](https://github.com/open-telemetry/semantic-conventions/tree/v1.41.0/docs/gen-ai),同时核对 [Agent spans](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-agent-spans.md)、[模型 spans](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-spans.md)、[metrics](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-metrics.md)及[错误记录](https://github.com/open-telemetry/semantic-conventions/blob/v1.43.0/docs/general/recording-errors.md)。Pi 提供生命周期与关联设计参考;其历史自定义字段不自动成为标准字段。 + +GenAI 仍在演进,新仓库中的 inference duration 等定义需要单独迁移。当前三信号 instrumentation version 为 `0.2.0`,Resource 中 `cyber.otel.gen_ai.version=1.41.0` 标明语义口径。SDK 版本独立管理,不宣称覆盖所有 GenAI 可选字段。 + +## 代码边界 + +| 文件 | 职责 | +| --- | --- | +| [extension.go](../exts/otel/extension.go) | 订阅、clone、队列、独立 SDK、exporter、Flush/Close 与错误反馈 | +| [bridge.go](../exts/otel/bridge.go) | AOP 关联状态、父子关系、来源 links、完成上下文与去重缓存 | +| [events.go](../exts/otel/events.go) | 原有 Session / Turn / operation / LLM / usage 转换 | +| [mechanisms.go](../exts/otel/mechanisms.go) | 原有 compact/eval/budget status、JEV RuntimeEvent、guardrail Review 适配 | +| [signals.go](../exts/otel/signals.go) | 包装 span 投影,按开始/结束生成日志、计数和耗时;独立于 trace 采样 | +| [lifecycle.go](../exts/otel/lifecycle.go) | Session 生命周期与 accepted AOP fact 日志;选择相关 trace/span | +| [providers.go](../exts/otel/providers.go) | 独立 Log/Metric SDK、导出错误与订阅丢弃反馈 | +| [options.go](../exts/otel/options.go) | OTLP 环境配置优先级、完整 signal URL 与支持协议的校验 | + +转换器只接收 `*aop.Event`,不读取 Agent、provider、hooks、调用栈或其他扩展运行时对象。JEV/guardrail 根据现有 Any full name 和已注册 protobuf descriptor 解码;OTel 生产代码不导入它们的实现。未识别或未注册的扩展保留为 AOP fact,并记录 type name。 + +## 现有事实的映射 + +| AOP 输入 | OTel 输出与语义 | +| --- | --- | +| SessionStarted / SessionEnded / DelegationDetail | 保存 model、父 Session/call、Agent 类型与运行模式;记录 started/completed 日志、活跃数与生命周期耗时;不创建长期 Session 根 span | +| TurnStarted / TurnEnded | `invoke_agent [agent name]`,INTERNAL / AGENT;标准 operation、conversation ID、已知 Agent name/id,以及 stop_reason、context_tokens、最终错误和汇总 usage | +| operation.Started / Completed + Ref | 工具为 `execute_tool `,INTERNAL / TOOL,标准 operation/tool name/call ID;command/process 为 CHAIN 子操作;按显式 parent_operation_id 关联,Completed.StartedAt 支持缺开始事件的重建 | +| Completed.Failure | 执行 ERROR、有限分类 `error.type`、failure.kind、异常事件;无 StartedAt 且未见 Started 时标记 start_missing | +| llm_request + LLMRequestDetail | `chat [model]`,CLIENT / LLM;标准 operation/provider、已知 request model、max_tokens、stream,以及 cyber 消息数和请求序号 | +| assistant Message + Usage | 消息时间用于结束模型,usage 到达后补计量;未见响应时结束时间标记 estimated | +| compact_start/end/error + CompactDetail | `agent.compact` CHAIN,压缩前后 context tokens、保留消息数、错误 | +| eval_start/end/error + EvalDetail | `agent.eval` CHAIN,round/max_rounds/pass;pass=false 不自动标为运行错误 | +| token_budget_warning + BudgetWarning | 结构化事件,包含 context_tokens 和 token_budget | +| Recap | 已完成展示文本对应 AOP fact,不虚构模型调用或耗时 | +| JEV DecisionRequest / DecisionResult | `jev.decision` CLIENT / LLM,自定义 operation `evaluate`、provider `jev`;request_id、purpose、usage、错误;内部 HTTP 重试按 logical_request 计量 | +| JEV Generation | 按 request_id / parent_request_id 建立层次;compiler_round、claim_llm、parameters_llm 为 CLIENT / LLM、operation `chat`、provider `unknown`;validation 为 CHAIN | +| JEV reflex_llm | 编译汇总 CHAIN,usage 仅用 cyber.tokens.*;不再次累计 compiler_round 的标准 token | +| JEV observation / dispatch / result / handoff / library change 等 | 前台为 AOP fact,后台为带来源关联的即时 span | +| guardrail Review pending / resolved | `guardrail.review` 等待 span,action/state/resolution_source;拒绝、过期、取消是策略 outcome,工具 Failure 另行表达 | +| 其他 file / HTTP / 扩展事实 | 附到明确的活动 operation 或 Turn;迟到事实保留来源,不延长已结束 Turn | + +`gen_ai.provider.name` 表示客户端接口的 provider dialect。正式 CLI 取宿主配置,通常为 `openai` / `anthropic`;兼容网关的上游供应商不能从模型名推断。嵌入宿主用 `Options.ProviderName` 提供,未提供为 `unknown`。配置在扩展加载时固定,不能反映运行中的 provider reload。JEV 的模型事实缺少 provider/model 信息时保留未知,不借用主 Agent 配置。 + +JEV 沿用框架约定的 `jev.` span 名称;`evaluate` 是自定义 operation,而非 v1.41 的预定义值。请求 effort 使用 `cyber.jev.requested_effort`。成功 span 不写 `error.type`;已恢复的 retry/业务错误保留为事实,terminal failure 才设置 ERROR 和有限的错误分类。工具失败或工具阶段取消不污染已完成的模型响应。 + +## 关联、后台与重复事件 + +工具、命令、进程用 operation ID 索引;call ID 的执行上下文只指向真实工具,不被继承同一 call ID 的 command/process 覆盖。已结束操作的 SpanContext 暂存,因此父操作导出后到达的子操作仍可关联。父 Started 从未观察到且无可用上下文时退回 Turn 并标记 parent.missing。 + +主模型和工具是 invocation 下的兄弟 span。assistant 消息中的真实 tool-call ID 对应触发模型,工具按精确匹配添加 source link;无匹配时不猜最近模型。不同 call ID 的并行工具独立关联。 + +同步子 Agent 用 SessionStarted.parent_session_id / parent_tool_call_id 查找父工具并加入同一 trace。background delegation 新建 trace,link 到父工具。缺父工具时保留业务父 ID 和 missing 标记。context_mode=fork/fresh 作为属性保存,不等同于前台/后台运行模式。 + +JEV background=true 不表示源 Turn 仍在执行。后台 request 新建 trace 并 link 到已知源 Turn,compiler rounds 按 parent_request_id 加入编译 trace。源 Turn 未观察到时独立运行并标记 source.missing,不伪造 TurnStarted。完成的 Turn 不因迟到事件重开;迟到 fact 使用即时 span 和来源 link。 + +标准 OTel links 同时投影 `cyber.source.trace_id` / `cyber.source.span_id` 属性。Phoenix 20.20.0 的 REST/GraphQL Span 接口不暴露 links,因此验收检查 SigNoz 原生 links 和 Phoenix 来源属性,不宣称已验证 Phoenix 原生 link 展示。 + +event ID、完成 Turn、完成 scope、结束 Session、工具执行/来源 context 缓存各保留最近 4096 个身份。窗口内重复 ID 和重复 completion 不重复导出;缓存淘汰后不保证任意历史重放的全局幂等。消费者按交付顺序处理,保留 Event.seq 属性,当前不实现任意乱序重排。 + +## 模型计量 + +普通请求只在对应 LLM span 写入 `llm.token_count.prompt/completion/total` 和 `gen_ai.usage.input_tokens/output_tokens`。Turn 总计只用 `cyber.tokens.*`,避免根和叶重复累计。 + +主循环一次逻辑调用包含自动重试。首次 llm_request 打开一个 LLM span,在 Usage 到达前的重试记在同一 span 上,`cyber.llm.observed_attempts` 保留观察次数;累计 usage 只写一次,duration 与 token histogram 使用同一逻辑调用单位。span 的结束时间取最后一次有效 assistant 响应,Usage 晚于工具不延长模型耗时。空 assistant 消息代表丢弃的流式响应,清除该结束时间和输出;未见响应时标记 `cyber.llm.end_estimated`。 + +已经观察到有效响应、但 Usage 前又出现请求时,现有 AOP 无法证明是否属于同一调用,标记 `cyber.llm.grouping.uncertain`。缺少响应且最终无法收尾的请求标记 incomplete。`Usage.Model` 来自配置别名,只能说明 request model;没有真实响应模型事实时省略 `gen_ai.response.model`。 + +`cache_read`、`cache_write`、`reasoning` 分别投影到 GenAI cache read、cache creation、reasoning token 属性,原 detail 保留在 `cyber.usage.detail.*`。缓存与 reasoning 是 input/output 的子集,不额外相加。`usage_missing` 表示覆盖不完整:部分 attempts 缺失时保留已报告 tokens;全部缺失或没有 Usage 时不写虚构的标准 0 tokens。 + +compiler_round 是 JEV 编译的模型计量来源;reflex_llm 汇总永远不再次写标准计数,包括汇总先到、round 后到的情况。旧版只有汇总的记录展示 cyber.tokens.*,无法证明原子调用覆盖。decision 和其他 generation 的 usage 口径来自原有事件,不声称已拆分内部 provider attempts。 + +## 日志、指标与 Agent 生命周期 + +每个窗口内去重后的非流式 AOP fact 生成一条结构化日志,保存 event ID、seq、Session/Turn、类型和已有执行元数据。scope 开始/结束另外生成投影日志,区分收到的事实与推导的生命周期。日志带唯一 `cyber.log.id`;Turn、模型、工具、机制日志关联相应 trace/span,迟到事实使用保留上下文。Session 开始尚无 Turn 时用 Session ID 关联,不伪造 trace。这不是对任意应用 stdout 或现有 logger 的自动采集。 + +Session 日志为 `agent.session.started/completed/incomplete`,Turn 为 `agent.turn.started/completed/incomplete`。完成日志的 `cyber.outcome` 表达 success / error / canceled / incomplete;guardrail 另支持 rejected / expired。SessionEnded 立即收尾该 Session 拥有的孤儿 Turn/scope,标记 incomplete,并保留终态防止迟到事实重开。不同 Session 的后台子 Agent 依其自身生命周期结束。Close 对剩余工作收尾。工具失败不会自动把最终成功的 Turn 记作失败。 + +| 指标 | 口径 | +| --- | --- | +| `cyber.aop.events` / `cyber.otel.events.dropped` | 已消费且去重的事实 / Flush 或 Close 观察到的订阅丢弃 | +| `cyber.agent.sessions` | Session 生命周期转换,按 `cyber.lifecycle.state` 区分 started / completed / incomplete;不能把开始和结束相加当 Session 数 | +| `cyber.agent.sessions.active` / `cyber.agent.session.duration` | 已观察到开始且未关闭的 Session 数 / 生命周期秒数 | +| `cyber.agent.turns` / `.active` / `cyber.agent.turn.duration` | 完成 Turn 数与 outcome / 活跃数 / 秒数 | +| `cyber.scope.completed` / `.active` / `.duration` | tool / command / process / compact / eval / guardrail / JEV 等 scope 的完成、活跃和秒数 | +| `cyber.model.requests` / `cyber.model.usage.missing` | 逻辑模型调用及未报告完整 usage 的调用;自动重试合并,编译汇总不计请求 | +| `cyber.model.tokens` | 模型叶子已报告 usage;`gen_ai.token.type=input/output/total`,总量只筛 total,不能将三个类型相加 | +| `gen_ai.client.operation.duration` / `gen_ai.client.token.usage` | 同一逻辑模型调用的耗时秒数 / input、output token histogram;估算结束时间在 trace/log 标注 | + +标准模型指标使用 operation/provider、已知 request model 标签;failed duration 的 `error.type` 与 span 一致。token histogram 只使用 input/output,且只计 LLM 叶子。duration buckets 采用 v1.41 推荐的 `0.01 × 2ⁿ`(n=0…13)秒,token buckets 为 `1 × 4ⁿ`(n=0…13)。 + +自定义指标补充有限的 scope kind、outcome、state、token type、usage scope,不把 Session/Turn/operation ID 或命令文本放入指标维度。三个信号共享 `service.name`、每个扩展实例的 `service.instance.id` 和 project Resource;SDK 合并 `OTEL_RESOURCE_ATTRIBUTES`,宿主可用 `ResourceAttributes` 覆盖。日志/指标在 span 投影时产生,关闭 trace 采样仍保留生命周期和 usage;此时关联的 trace ID 不保证有已导出的 trace。 + +设置 `Options.Endpoint` 默认启用三种信号,分别发送至基地址的 `/v1/traces`、`/v1/logs`、`/v1/metrics`。`TraceEndpoint` / `LogEndpoint` / `MetricEndpoint` 是完整 URL,覆盖全局基地址并保留原路径;也可以单独启用任一种信号。嵌入宿主可设 `DisableLogs` / `DisableMetrics` 或传入独立 exporter,扩展拥有其关闭生命周期。MetricInterval 默认 10 秒;Flush / Close 也导出一次。 + +CLI 的 `OptionsFromEnv` 遵循 [OTLP exporter 配置优先级](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.55.0/specification/protocol/exporter.md):signal-specific endpoint/protocol 优先全局设置,仅全局 endpoint 追加 signal 路径。目前支持 `http/protobuf`,显式配置其他协议会报错。headers、证书、resource 和 trace sampling 使用 SDK 的环境配置;exporter 与 batch export timeout 固定为 5 秒,不宣称完整透传 OTLP timeout 环境变量。 + +## 内容、队列与关闭 + +默认导出关联、执行元数据和 usage。`CaptureContent=true` 才导出消息、机制 output、delegation task 和事件 payload,截断到 4096 字节边界并保持 UTF-8;截断 payload 作为文本,不保证仍是完整 JSON。没有新增自动脱敏或内容分级系统。 + +input 是最近用户消息,不是 provider 最终有效请求快照。delta 和 raw provider frames 不进入三个信号;辅助机制请求正文没有在现有 AOP 中完整记录。内容开关同样约束日志。 + +订阅默认 512 条、16 MiB,发布端不等待网络导出。Trace SDK batch queue 2048,队满可阻塞异步消费者;AOP 订阅队满则丢弃,由 Flush/Close 报告 signals incomplete,同时记录丢弃指标和 warning 日志。Log SDK batch queue 2048,饱和时可能丢日志;当前未接入 SDK 内部丢弃计数,因此不宣称在过载时完整无损。三个 checked exporter 保留异步导出错误并通过 Flush/Close 返回。独立 SDK 不改变全局 provider。 + +Flush 先排空事件,再刷新已完成 spans、日志和指标,不强行结束运行中的任务。Close 排空订阅,将未结束 Session/scope/Turn 标记 incomplete 并减少活跃数,最后关闭三个 SDK。调用者应先关闭生产者与后台工作,再关闭 OTel。 + +SDK Shutdown 是一次性操作,扩展拥有其清理 goroutine。调用者超时返回 `ErrCloseIncomplete`,清理继续;后续 Close 可以等待同一次清理完成。已完成 shutdown 的 exporter timeout 保留诊断,但不能使 extension.Set 误认为资源仍未释放。Set 也负责部分 Load 失败后的 Close。 + +## 已验证与当前边界 + +- 真实 StandardLoop / Session / 工具 / 命令 / 本地进程,模型使用本地 HTTP/SSE 夹具:7 spans、2 LLM 请求、250 tokens、1 个故意工具失败;SigNoz 另收到 39 logs、14 类指标 / 42 序列,两端 trace 与 usage 一致。 +- AOP protobuf JSON 回放和失败/取消/未完成夹具:7 traces / 23 spans / 210 tokens,SigNoz 113 logs、15 类指标 / 99 序列;6 个 Turn outcome 为 success=3 / error=1 / canceled=1 / incomplete=1,Session 完成 5、未完成 1。覆盖重试、重复 completion、已完成父操作、同步/后台子 Agent、compact/eval、guardrail、JEV background compiler 和迟到 fact。 +- 两端逐项核对机制属性、cache/reasoning、missing、LLM kind、汇总不双计和来源关联;SigNoz 日志关联、histogram sum/count 与 trace 一致,活跃数最终归零。 +- focused Go tests、vet、OTel / observe / terminal race tests,以及 CLI 对应构建标签通过。回归覆盖终态错误归属、准确工具来源、Session 孤儿收尾、retry/discarded stream、部分/全部 missing usage、OTLP wire 字段/buckets、独立信号及采样关闭。 +- 本轮正式 `cmd/aiscan` 用正常 OTel 环境配置和真实 `gpt-6-sol` 执行 AOP 归档分析、Python 自检及工具失败修复,未注入 recording exporter:10 个模型调用、10 个工具调用(4 个失败)、114,242 tokens。SigNoz 158 logs / 29 spans,Phoenix 相同 29 spans;98 个非流式 canonical AOP facts、CLI usage、trace/metric tokens、operation 父子和失败状态逐项一致,任务成功且活跃归零。 +- Agent 生成的 analyzer/report 另行核对:从历史销售/SLO/审计归档计算 input=132,272、output=6,025、total=138,297,22 请求、28 calls / 28 results、2 个失败工具。此为被分析的历史输入,不是本轮模型消耗。 + +回放证明现有事件的转换;本轮真实模型验收覆盖普通主 Agent 和工具。复杂机制的真实模型执行仍需独立验收。运行方式见[示例](../examples/observability/README.md)。 + +实时看板区分已报告 tokens、工具执行、阶段状态及最终 outcome。它不虚构百分比。当前 StandardLoop 的 usage 在本轮工具结果收集后发布,长工具可能延后该响应的 tokens 和模型投影 active 收尾;active 不保证表示网络请求仍在进行。startup 探测、recap 等辅助模型调用缺少完整 AOP usage,已观察总量不能当成整个进程的模型账单。 + +正常 CLI 验证暴露了后端查询问题:ClickHouse Map 属性顺序变化可让 `DISTINCT fingerprint,metric_name,attrs` 返回同一 fingerprint 多次,导致查询重复累计。本地验收查询按 fingerprint + metric_name 分组选择一组属性,再取累计末值,已用真实 CLI 的 JSONL、结果和 trace 数量核对;示例 README 提供相应 SQL。此修复不改变 OTel 采集口径。 + +现有 AOP 不提供主循环每个 attempt 的精确结束、usage、稳定 request ID,也没有独立 Agent Run/Decision 身份。Goal 同一 Turn 内多个 Run 仍投影到同一 Turn,不新造协议身份。compact/eval/recap 辅助模型 usage、完整有效请求快照、首 token、原生搜索计量、跨进程 W3C 传播仍缺少足够事实,转换层无法补造。 + +当前已有三种客户端信号和本地验收看板。Phoenix 接收 traces;logs / metrics 在 SigNoz 验收。费用账本、生产看板与告警规则未实现;本地看板固定到单次夹具或真实执行,用累计末值检查任务,不作为长期服务的速率看板。 + +可重复命令见[示例 README](../examples/observability/README.md),追踪事项见 [Issue #175](https://github.com/chainreactors/cyber-harness/issues/175)。 diff --git a/examples/observability/README.md b/examples/observability/README.md new file mode 100644 index 000000000..1862acf20 --- /dev/null +++ b/examples/observability/README.md @@ -0,0 +1,94 @@ +# Cyber Harness 接入 SigNoz / Phoenix + +正式 Cyber Agent 发布现有 AOP,`exts/otel` 将其转换为 traces、结构化日志和指标。Collector 将三种信号写入 SigNoz,并把相同 traces 写入 Phoenix。Agent / 工具无需新增 OTel hooks 或协议定义。映射及边界见 [Agent 可观测性](../../docs/observability.md)。 + +## 启动本地后端 + +```powershell +docker compose -f examples/observability/docker/docker-compose.yaml up -d --wait --wait-timeout 240 +``` + +| 服务 | 地址 | +| --- | --- | +| SigNoz | http://127.0.0.1:24880 | +| Phoenix | http://127.0.0.1:24006 | +| OTLP/HTTP 基地址 | http://127.0.0.1:24318 | +| OTLP/gRPC Collector | 127.0.0.1:24317 | +| Collector 健康检查 | http://127.0.0.1:23133 | + +固定版本为 SigNoz v0.129.0、Collector v0.144.5、Phoenix 20.20.0、ClickHouse 25.5.6。SigNoz 配置来自 [官方 v0.129.0 Compose](https://github.com/SigNoz/signoz/tree/v0.129.0/deploy/docker),附带的授权文本见 [SIGNOZ-LICENSE](common/SIGNOZ-LICENSE)。服务绑定本机,数据使用命名卷保存。首次访问 SigNoz 创建本地管理员;Phoenix 本地实例关闭身份验证。这组配置用于本地开发。 + +## 执行正式 Agent + +在仓库根目录执行,模型密钥与配置沿用正常 Cyber 配置: + +```powershell +$env:OTEL_EXPORTER_OTLP_ENDPOINT = 'http://127.0.0.1:24318' +$env:OTEL_EXPORTER_OTLP_PROTOCOL = 'http/protobuf' +$env:OTEL_SERVICE_NAME = 'cyber-harness' +$env:CYBER_OTEL_PROJECT = 'cyber-harness' +go run ./cmd/aiscan agent --prompt '用 Bash 执行 pwd,然后解释结果' +``` + +OTel 开启且未显式选择 `--observe` 时,自动启用现有 tools / commands / processes 观测。需要文件/HTTP 事实时使用 `--observe tools,commands,processes,files,http`;显式选择保持原样。OTLP 客户端使用 HTTP,gRPC 端口供其他客户端使用。 + +也可仅配置 `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` / `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` / `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` 启用对应信号;这些是完整 URL,优先于全局 endpoint,路径不会被改写。对应 signal 的 protocol 设置同样优先,目前只支持 `http/protobuf`。GenAI 语义固定到 v1.41.0,Resource 中可查看 `cyber.otel.gen_ai.version`。 + +复杂任务可用正常 `--task-file`,例如审查代码、生成统计程序、执行已有测试并输出报告。`--output <路径>` 保存 canonical AOP JSONL,可与后端记录对照;`--output-format json` 输出最终结果及 usage。JSONL 中 protobuf uint64 是数字字符串,统计只累计顶层 usage,不能再次累计 TurnEnded 的 usage 摘要或 assistant 消息内的工具调用。 + +默认不导出消息正文。`CYBER_OTEL_CAPTURE_CONTENT=true` 开启最多 4096 字节的输入输出和事件正文。此开关不采集原始 provider frames 或流式 delta;AOP 日志不等于自动采集任意 stdout。 + +## 查看数据 + +SigNoz 按 `service.name` 筛选;每个进程中的扩展实例还有独立 `service.instance.id`,可关联同一次执行的三个信号。Traces 中根 `invoke_agent [agent name]` 展开 `chat [model]`、`execute_tool `、命令和进程;Logs 中可见 Session/Turn、operation、usage、outcome 和 trace/span ID。Phoenix 的对应项目使用 AGENT / LLM / TOOL / CHAIN 展示同一 trace。 + +| 指标 | 用途 | +| --- | --- | +| `cyber.agent.sessions` / `.active` / `cyber.agent.session.duration` | Session 开始/结束转换、活跃数与耗时 | +| `cyber.agent.turns` / `.active` / `cyber.agent.turn.duration` | Turn outcome、活跃数与耗时 | +| `cyber.scope.completed` / `.active` / `.duration` | tool / command / process 和其他机制的状态及耗时 | +| `cyber.model.requests` / `cyber.model.usage.missing` | 逻辑模型调用数(包含自动重试)与缺失 usage 覆盖 | +| `cyber.model.tokens` | input / output / total;总量只筛 `gen_ai.token.type=total` | +| `gen_ai.client.operation.duration` / `gen_ai.client.token.usage` | 模型耗时和 token histogram | +| `cyber.aop.events` / `cyber.otel.events.dropped` | 消费的事实和已观察到的订阅丢弃 | + +指标不以 Session/Turn/operation ID 为标签。`cyber.agent.sessions` 是状态转换计数,筛 `cyber.lifecycle.state=started` 才表示启动的 Session 数。累计 input/output/total 不可三者相加。标准模型指标带 operation/provider 和已知 request model;失败 duration 的 `error.type` 与 trace 一致。两个 histogram 都按同一逻辑调用记录,SigNoz 保存为 `.sum` / `.count` / `.bucket` 序列。 + +任务进度按生命周期和正在执行的工具展示,不估算百分比。tokens 在 AOP usage 到达后更新;当前 StandardLoop 在本轮工具结果收集后发布 usage,长工具会延后该响应计量。模型 active 表示请求投影尚未收尾,不保证此时网络请求仍在进行。startup / recap 等辅助请求没有完整 AOP usage,因此已报告 tokens 不等于整个进程或网关账单。 + +短任务可以对每条指标序列取累计末值。查询 ClickHouse 时按 fingerprint + metric_name 去重,不能用 Map 属性的物理顺序区分序列: + +```sql +SELECT sum(v) AS reported_tokens +FROM ( + SELECT argMax(s.value, s.unix_milli) AS v + FROM signoz_metrics.distributed_samples_v4 s + INNER JOIN ( + SELECT fingerprint, metric_name, any(attrs) AS attrs + FROM signoz_metrics.distributed_time_series_v4 + WHERE resource_attrs['service.instance.id'] = '<本次实例ID>' + GROUP BY fingerprint, metric_name + ) t ON s.fingerprint = t.fingerprint AND s.metric_name = t.metric_name + WHERE t.metric_name = 'cyber.model.tokens' + AND t.attrs['gen_ai.token.type'] = 'total' + GROUP BY t.fingerprint +) +``` + +该查询用于累计末值核对,不表示当前时间窗口内的速率。长期服务可在 SigNoz 创建按时间范围计算的看板和告警。 + +2026-10-11 本轮验收使用正式 CLI 和真实 `gpt-6-sol` 分析 AOP 历史归档、编写 Python analyzer、执行自检并恢复工具失败:114,242 tokens、10 个逻辑模型调用、10 个工具调用(4 个失败)、158 logs / 29 spans。JSONL、CLI usage、SigNoz trace/log/metric 与 Phoenix 的 29 spans 核对一致,98 个非流式 AOP facts 均有对应日志,任务成功且活跃数最终归零。生成报表另行验收,正确计算历史输入的 138,297 tokens / 22 请求 / 28 工具,这不属于本轮 token 消耗。 + +本地 AOP 回放另覆盖 delegation、compact/eval、guardrail、JEV、retry、取消和未完成:7 traces / 23 spans / 210 tokens、113 logs、15 类指标 / 99 序列;真实 Harness + HTTP/SSE 夹具覆盖 7 spans / 250 tokens。回放验收与真实模型覆盖分开记录。测试代码、验收夹具、运行脚本、截图、凭据和临时产物保留在本地,未纳入此变更。 + +## 嵌入式宿主与关闭 + +在事件流提供者之后、执行者之前安装 `otelext.New(Options{Endpoint: ...})`;需要工具/命令/进程生命周期时安装现有 `observe`。三个 SDK 独立,Resource 一致,不修改全局 provider。MetricInterval 默认 10 秒,Flush / Close 也导出指标。 + +先结束生产者、Session 与后台工作,再关闭 OTel。SessionEnded 立即收尾所属孤儿 Turn/scope,不提前关闭不同 Session 的后台 Agent。Flush 不强制结束运行中的任务;Close 将剩余 scope/Turn/Session 标记 incomplete 并归零活跃数。Close 超时返回 `ErrCloseIncomplete`,扩展继续清理,后续 Close 可等待完成。导出失败和已观察到的 AOP 订阅丢弃由 Flush/Close 返回;Log SDK 内部丢弃尚未计量。其他事实缺口见设计文档与 [Issue #175](https://github.com/chainreactors/cyber-harness/issues/175)。 + +```powershell +docker compose -f examples/observability/docker/docker-compose.yaml stop +``` + +停止服务保留历史数据;再次启动继续使用命名卷。 diff --git a/examples/observability/common/SIGNOZ-LICENSE b/examples/observability/common/SIGNOZ-LICENSE new file mode 100644 index 000000000..7e1ae4f6b --- /dev/null +++ b/examples/observability/common/SIGNOZ-LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2020-present SigNoz Inc. + +Portions of this software are licensed as follows: + +* All content that resides under the "ee/" and the "cmd/enterprise/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE". +* All third party components incorporated into the SigNoz Software are licensed under the original license provided by the owner of the applicable component. +* Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/examples/observability/common/clickhouse/cluster.xml b/examples/observability/common/clickhouse/cluster.xml new file mode 100644 index 000000000..8b475ffe8 --- /dev/null +++ b/examples/observability/common/clickhouse/cluster.xml @@ -0,0 +1,75 @@ + + + + + + zookeeper-1 + 2181 + + + + + + + + + + + + + + + + clickhouse + 9000 + + + + + + + + diff --git a/examples/observability/common/clickhouse/config.xml b/examples/observability/common/clickhouse/config.xml new file mode 100644 index 000000000..1965ac3b2 --- /dev/null +++ b/examples/observability/common/clickhouse/config.xml @@ -0,0 +1,1142 @@ + + + + + + information + + json + + /var/log/clickhouse-server/clickhouse-server.log + /var/log/clickhouse-server/clickhouse-server.err.log + + 1000M + 10 + + + + + + + + + + + + + + + + + + 8123 + + + 9000 + + + 9004 + + + 9005 + + + + + + + + + + + + 9009 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4096 + + + 3 + + + + + false + + + /path/to/ssl_cert_file + /path/to/ssl_key_file + + + false + + + /path/to/ssl_ca_cert_file + + + none + + + 0 + + + -1 + -1 + + + false + + + + + + + + + + + none + true + true + sslv2,sslv3 + true + + + + true + true + sslv2,sslv3 + true + + + + RejectCertificateHandler + + + + + + + + + 100 + + + 0 + + + + 10000 + + + + + + 0.9 + + + 4194304 + + + 0 + + + + + + 8589934592 + + + 5368709120 + + + + 1000 + + + 134217728 + + + 10000 + + + /var/lib/clickhouse/ + + + /var/lib/clickhouse/tmp/ + + + + ` + + + + + + /var/lib/clickhouse/user_files/ + + + + + + + + + + + + + users.xml + + + + /var/lib/clickhouse/access/ + + + + + + + default + + + + + + + + + + + + default + + + + + + + + + true + + + false + + ' | sed -e 's|.*>\(.*\)<.*|\1|') + wget https://github.com/ClickHouse/clickhouse-jdbc-bridge/releases/download/v$PKG_VER/clickhouse-jdbc-bridge_$PKG_VER-1_all.deb + apt install --no-install-recommends -f ./clickhouse-jdbc-bridge_$PKG_VER-1_all.deb + clickhouse-jdbc-bridge & + + * [CentOS/RHEL] + export MVN_URL=https://repo1.maven.org/maven2/ru/yandex/clickhouse/clickhouse-jdbc-bridge + export PKG_VER=$(curl -sL $MVN_URL/maven-metadata.xml | grep '' | sed -e 's|.*>\(.*\)<.*|\1|') + wget https://github.com/ClickHouse/clickhouse-jdbc-bridge/releases/download/v$PKG_VER/clickhouse-jdbc-bridge-$PKG_VER-1.noarch.rpm + yum localinstall -y clickhouse-jdbc-bridge-$PKG_VER-1.noarch.rpm + clickhouse-jdbc-bridge & + + Please refer to https://github.com/ClickHouse/clickhouse-jdbc-bridge#usage for more information. + ]]> + + + + + + + + + + + + + + + 01 + example01-01-1 + + + + + + 3600 + + + + 3600 + + + 60 + + + + + + + + + + /metrics + 9363 + + true + true + true + true + + + + + + system + query_log
+ + toYYYYMM(event_date) + + + + + + 7500 +
+ + + + system + trace_log
+ + toYYYYMM(event_date) + 7500 +
+ + + + system + query_thread_log
+ toYYYYMM(event_date) + 7500 +
+ + + + system + query_views_log
+ toYYYYMM(event_date) + 7500 +
+ + + + system + part_log
+ toYYYYMM(event_date) + 7500 +
+ + + + + + system + metric_log
+ 7500 + 1000 +
+ + + + system + asynchronous_metric_log
+ + 7000 +
+ + + + + + engine MergeTree + partition by toYYYYMM(finish_date) + order by (finish_date, finish_time_us, trace_id) + + system + opentelemetry_span_log
+ 7500 +
+ + + + + system + crash_log
+ + + 1000 +
+ + + + + + + system + processors_profile_log
+ + toYYYYMM(event_date) + 7500 +
+ + + + + + + + + *_dictionary.xml + + + *function.xml + /var/lib/clickhouse/user_scripts/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /clickhouse/task_queue/ddl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + click_cost + any + + 0 + 3600 + + + 86400 + 60 + + + + max + + 0 + 60 + + + 3600 + 300 + + + 86400 + 3600 + + + + + + /var/lib/clickhouse/format_schemas/ + + + + + hide encrypt/decrypt arguments + ((?:aes_)?(?:encrypt|decrypt)(?:_mysql)?)\s*\(\s*(?:'(?:\\'|.)+'|.*?)\s*\) + + \1(???) + + + + + + + + + + false + + false + + + https://6f33034cfe684dd7a3ab9875e57b1c8d@o388870.ingest.sentry.io/5226277 + + + + + + + + + + + 268435456 + true + +
diff --git a/examples/observability/common/clickhouse/custom-function.xml b/examples/observability/common/clickhouse/custom-function.xml new file mode 100644 index 000000000..b2b3f91a1 --- /dev/null +++ b/examples/observability/common/clickhouse/custom-function.xml @@ -0,0 +1,21 @@ + + + executable + histogramQuantile + Float64 + + Array(Float64) + buckets + + + Array(Float64) + counts + + + Float64 + quantile + + CSV + ./histogramQuantile + + diff --git a/examples/observability/common/clickhouse/users.xml b/examples/observability/common/clickhouse/users.xml new file mode 100644 index 000000000..c0823e988 --- /dev/null +++ b/examples/observability/common/clickhouse/users.xml @@ -0,0 +1,123 @@ + + + + + + + + + + 10000000000 + + + random + + + + + 1 + + + + + + + + + + + + + ::/0 + + + + default + + + default + + + + + + + + + + + + + + 3600 + + + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/examples/observability/docker/docker-compose.yaml b/examples/observability/docker/docker-compose.yaml new file mode 100644 index 000000000..2ef568f70 --- /dev/null +++ b/examples/observability/docker/docker-compose.yaml @@ -0,0 +1,229 @@ +# Based on the official SigNoz v0.129.0 Docker Compose deployment. +x-common: + networks: &id001 + - signoz-net + restart: unless-stopped + logging: &id002 + options: + max-size: 50m + max-file: '3' +x-clickhouse-defaults: + networks: *id001 + restart: unless-stopped + logging: *id002 + image: clickhouse/clickhouse-server:25.5.6 + tty: true + labels: &id005 + signoz.io/scrape: 'true' + signoz.io/port: '9363' + signoz.io/path: /metrics + depends_on: &id006 + init-clickhouse: + condition: service_completed_successfully + zookeeper-1: + condition: service_healthy + healthcheck: &id007 + test: + - CMD + - wget + - --spider + - -q + - 0.0.0.0:8123/ping + interval: 30s + timeout: 5s + retries: 3 + ulimits: &id008 + nproc: 65535 + nofile: + soft: 262144 + hard: 262144 + environment: &id009 + - CLICKHOUSE_SKIP_USER_SETUP=1 +x-zookeeper-defaults: + networks: *id001 + restart: unless-stopped + logging: *id002 + image: signoz/zookeeper:3.7.1 + user: root + labels: &id003 + signoz.io/scrape: 'true' + signoz.io/port: '9141' + signoz.io/path: /metrics + healthcheck: &id004 + test: + - CMD-SHELL + - curl -s -m 2 http://localhost:8080/commands/ruok | grep error | grep null + interval: 30s + timeout: 5s + retries: 3 +x-db-depend: + networks: *id001 + restart: unless-stopped + logging: *id002 + depends_on: &id010 + clickhouse: + condition: service_healthy +services: + init-clickhouse: + networks: *id001 + restart: on-failure + logging: *id002 + image: clickhouse/clickhouse-server:25.5.6 + command: + - bash + - -c + - 'version="v0.0.1" + + node_os=$$(uname -s | tr ''[:upper:]'' ''[:lower:]'') + + node_arch=$$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) + + echo "Fetching histogram-binary for $${node_os}/$${node_arch}" + + cd /tmp + + wget -O histogram-quantile.tar.gz "https://github.com/SigNoz/signoz/releases/download/histogram-quantile%2F$${version}/histogram-quantile_$${node_os}_$${node_arch}.tar.gz" + + tar -xvzf histogram-quantile.tar.gz + + mv histogram-quantile /var/lib/clickhouse/user_scripts/histogramQuantile + + ' + volumes: + - user-scripts:/var/lib/clickhouse/user_scripts/ + zookeeper-1: + networks: *id001 + restart: unless-stopped + logging: *id002 + image: signoz/zookeeper:3.7.1 + user: root + labels: *id003 + healthcheck: *id004 + volumes: + - zookeeper-1:/bitnami/zookeeper + environment: + - ZOO_SERVER_ID=1 + - ALLOW_ANONYMOUS_LOGIN=yes + - ZOO_AUTOPURGE_INTERVAL=1 + - ZOO_ENABLE_PROMETHEUS_METRICS=yes + - ZOO_PROMETHEUS_METRICS_PORT_NUMBER=9141 + clickhouse: + networks: *id001 + restart: unless-stopped + logging: *id002 + image: clickhouse/clickhouse-server:25.5.6 + tty: true + labels: *id005 + depends_on: *id006 + healthcheck: *id007 + ulimits: *id008 + environment: *id009 + volumes: + - ../common/clickhouse/config.xml:/etc/clickhouse-server/config.xml + - ../common/clickhouse/users.xml:/etc/clickhouse-server/users.xml + - ../common/clickhouse/custom-function.xml:/etc/clickhouse-server/custom-function.xml + - user-scripts:/var/lib/clickhouse/user_scripts/ + - ../common/clickhouse/cluster.xml:/etc/clickhouse-server/config.d/cluster.xml + - clickhouse:/var/lib/clickhouse/ + signoz: + networks: *id001 + restart: unless-stopped + logging: *id002 + depends_on: *id010 + image: signoz/signoz:v0.129.0 + ports: + - 127.0.0.1:24880:8080 + volumes: + - sqlite:/var/lib/signoz/ + environment: + - SIGNOZ_ALERTMANAGER_PROVIDER=signoz + - SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://clickhouse:9000 + - SIGNOZ_SQLSTORE_SQLITE_PATH=/var/lib/signoz/signoz.db + - SIGNOZ_TOKENIZER_JWT_SECRET=secret + - SIGNOZ_ANALYTICS_ENABLED=false + healthcheck: + test: + - CMD + - wget + - --spider + - -q + - localhost:8080/api/v1/health + interval: 30s + timeout: 5s + retries: 3 + otel-collector: + networks: *id001 + restart: unless-stopped + logging: *id002 + depends_on: *id010 + image: signoz/signoz-otel-collector:v0.144.5 + entrypoint: + - /bin/sh + command: + - -c + - /signoz-otel-collector migrate sync check && /signoz-otel-collector --config=/etc/otel-collector-config.yaml + volumes: + - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro + environment: + - OTEL_RESOURCE_ATTRIBUTES=host.name=signoz-host,os.type=linux + - LOW_CARDINAL_EXCEPTION_GROUPING=false + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN=tcp://clickhouse:9000 + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_CLUSTER=cluster + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_REPLICATION=true + - SIGNOZ_OTEL_COLLECTOR_TIMEOUT=10m + ports: + - 127.0.0.1:24317:4317 + - 127.0.0.1:24318:4318 + - 127.0.0.1:23133:13133 + signoz-telemetrystore-migrator: + networks: *id001 + restart: on-failure + logging: *id002 + depends_on: *id010 + image: signoz/signoz-otel-collector:v0.144.5 + environment: + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN=tcp://clickhouse:9000 + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_CLUSTER=cluster + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_REPLICATION=true + - SIGNOZ_OTEL_COLLECTOR_TIMEOUT=10m + entrypoint: + - /bin/sh + command: + - -c + - '/signoz-otel-collector migrate bootstrap && + + /signoz-otel-collector migrate sync up && + + /signoz-otel-collector migrate async up + + ' + phoenix: + image: arizephoenix/phoenix:version-20.20.0 + restart: unless-stopped + networks: + - signoz-net + ports: + - 127.0.0.1:24006:6006 + environment: + PHOENIX_WORKING_DIR: /phoenix-data + PHOENIX_ENABLE_AUTH: 'false' + volumes: + - phoenix:/phoenix-data + healthcheck: + test: + - CMD + - python + - -c + - import urllib.request; urllib.request.urlopen("http://localhost:6006/healthz") + interval: 5s + timeout: 5s + retries: 30 +networks: + signoz-net: {} +volumes: + clickhouse: {} + sqlite: {} + zookeeper-1: {} + phoenix: {} + user-scripts: {} +name: cyber-observability diff --git a/examples/observability/docker/otel-collector-config.yaml b/examples/observability/docker/otel-collector-config.yaml new file mode 100644 index 000000000..cb7e0c859 --- /dev/null +++ b/examples/observability/docker/otel-collector-config.yaml @@ -0,0 +1,162 @@ +# SigNoz v0.129.0 collector configuration, with trace fan-out to Phoenix. +connectors: + signozmeter: + metrics_flush_interval: 1h + dimensions: + - name: service.name + - name: deployment.environment + - name: host.name +receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + prometheus: + config: + global: + scrape_interval: 60s + scrape_configs: + - job_name: otel-collector + static_configs: + - targets: + - localhost:8888 + labels: + job_name: otel-collector +processors: + batch: + send_batch_size: 10000 + send_batch_max_size: 11000 + timeout: 1s + batch/meter: + send_batch_max_size: 25000 + send_batch_size: 20000 + timeout: 1s + resourcedetection: + detectors: + - env + - system + timeout: 2s + signozspanmetrics/delta: + metrics_exporter: signozclickhousemetrics + metrics_flush_interval: 60s + latency_histogram_buckets: + - 100us + - 1ms + - 2ms + - 6ms + - 10ms + - 50ms + - 100ms + - 250ms + - 500ms + - 1000ms + - 1400ms + - 2000ms + - 5s + - 10s + - 20s + - 40s + - 60s + dimensions_cache_size: 100000 + aggregation_temporality: AGGREGATION_TEMPORALITY_DELTA + enable_exp_histogram: true + dimensions: + - name: service.namespace + default: default + - name: deployment.environment + default: default + - name: signoz.collector.id + - name: service.version + - name: browser.platform + - name: browser.mobile + - name: k8s.cluster.name + - name: k8s.node.name + - name: k8s.namespace.name + - name: host.name + - name: host.type + - name: container.name +extensions: + health_check: + endpoint: 0.0.0.0:13133 + pprof: + endpoint: 0.0.0.0:1777 +exporters: + clickhousetraces: + datasource: tcp://clickhouse:9000/signoz_traces + low_cardinal_exception_grouping: ${env:LOW_CARDINAL_EXCEPTION_GROUPING} + use_new_schema: true + signozclickhousemetrics: + dsn: tcp://clickhouse:9000/signoz_metrics + clickhouselogsexporter: + dsn: tcp://clickhouse:9000/signoz_logs + timeout: 10s + use_new_schema: true + signozclickhousemeter: + dsn: tcp://clickhouse:9000/signoz_meter + timeout: 45s + sending_queue: + enabled: false + metadataexporter: + cache: + provider: in_memory + dsn: tcp://clickhouse:9000/signoz_metadata + enabled: true + timeout: 45s + otlphttp/phoenix: + endpoint: http://phoenix:6006 + compression: none +service: + telemetry: + logs: + encoding: json + extensions: + - health_check + - pprof + pipelines: + traces: + receivers: + - otlp + processors: + - signozspanmetrics/delta + - batch + exporters: + - clickhousetraces + - metadataexporter + - signozmeter + - otlphttp/phoenix + metrics: + receivers: + - otlp + processors: + - batch + exporters: + - signozclickhousemetrics + - metadataexporter + - signozmeter + metrics/prometheus: + receivers: + - prometheus + processors: + - batch + exporters: + - signozclickhousemetrics + - metadataexporter + - signozmeter + logs: + receivers: + - otlp + processors: + - batch + exporters: + - clickhouselogsexporter + - metadataexporter + - signozmeter + metrics/meter: + receivers: + - signozmeter + processors: + - batch/meter + exporters: + - signozclickhousemeter diff --git a/exts/observe/extension.go b/exts/observe/extension.go index 70dfde3cd..c67eed2d0 100644 --- a/exts/observe/extension.go +++ b/exts/observe/extension.go @@ -18,6 +18,7 @@ import ( "github.com/chainreactors/cyber/core/operation" procbus "github.com/chainreactors/cyber/core/proc" "github.com/chainreactors/cyber/core/telemetry" + coretool "github.com/chainreactors/cyber/core/tool" toolhooks "github.com/chainreactors/cyber/core/tool/hooks" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" @@ -173,6 +174,15 @@ func (e *Extension) toolStarted(ctx context.Context, event toolhooks.CallEvent) } func (e *Extension) toolCompleted(ctx context.Context, event toolhooks.Completion) (struct{}, error) { + // ToolResult.IsError is model-visible failure feedback even when the tool + // deliberately returns no Go error (for example, a shell's nonzero exit). + if event.Err == nil && event.Result.GetIsError() { + message := coretool.ResultText(event.Result) + if message == "" { + message = "tool returned an error result" + } + event.Err = errors.New(message) + } e.emitCompleted(ctx, "tool", event.Call.GetName(), event.Lifecycle) return struct{}{}, nil } diff --git a/exts/otel/bridge.go b/exts/otel/bridge.go new file mode 100644 index 000000000..4d79a2ecb --- /dev/null +++ b/exts/otel/bridge.go @@ -0,0 +1,389 @@ +package otel + +import ( + "context" + "time" + + "github.com/chainreactors/cyber/aop" + operationpb "github.com/chainreactors/cyber/aop/operation" + "github.com/chainreactors/cyber/core/types" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/codes" + "go.opentelemetry.io/otel/trace" + "google.golang.org/protobuf/encoding/protojson" +) + +// aopBridge consumes only published AOP facts. It has no Agent/provider hooks +// and does not require OTel identities or new payloads from AOP producers. +// The subscription serializes access; completed correlation is bounded. +type aopBridge struct { + tracer trace.Tracer + capture bool + provider string + signals *signals + turns map[turnKey]*turn + sessions map[string]*session + scopes map[scopeKey]*scopeSpan + seen *recent[turnKey, bool] + endedTurns *recent[turnKey, context.Context] + endedScopes *recent[scopeKey, context.Context] + endedSessions *recent[string, *session] + calls *recent[turnKey, context.Context] + callSources *recent[turnKey, context.Context] +} + +type turnKey struct{ session, turn string } +type scopeKey struct{ session, kind, id string } +type session struct { + model, parent, call string + delegation *types.DelegationDetail + emitter string + start, last time.Time + ctx context.Context +} +type turn struct { + ctx context.Context + modelCtx context.Context + span trace.Span + requests int + llm *requestSpan + input string + last time.Time +} +type requestSpan struct { + span trace.Span + start, end time.Time + attempts int +} +type scopeSpan struct { + ctx context.Context + span trace.Span + start, last time.Time + children bool +} + +// A FIFO retains identities after End so late events cannot resurrect a span. +// It also retains parent contexts after export, without retaining span payloads. +type recent[K comparable, V any] struct { + values map[K]V + keys []K + next int +} + +func newRecent[K comparable, V any]() *recent[K, V] { return &recent[K, V]{values: make(map[K]V)} } +func (r *recent[K, V]) get(key K) (V, bool) { value, ok := r.values[key]; return value, ok } +func (r *recent[K, V]) put(key K, value V) { + if _, ok := r.values[key]; ok { + r.values[key] = value + return + } + const limit = 4096 + if len(r.keys) < limit { + r.keys = append(r.keys, key) + } else { + delete(r.values, r.keys[r.next]) + r.keys[r.next] = key + r.next = (r.next + 1) % limit + } + r.values[key] = value +} + +func (r *recent[K, V]) forget(key K) { + delete(r.values, key) + // Preserve FIFO ordering when a lifecycle without a request ID is reused. + ordered := append(append([]K(nil), r.keys[r.next:]...), r.keys[:r.next]...) + r.keys = r.keys[:0] + for _, existing := range ordered { + if existing != key { + r.keys = append(r.keys, existing) + } + } + r.next = 0 +} +func newAOPBridge(tracer trace.Tracer, capture bool) *aopBridge { + return &aopBridge{tracer: tracer, capture: capture, + turns: make(map[turnKey]*turn), sessions: make(map[string]*session), scopes: make(map[scopeKey]*scopeSpan), + seen: newRecent[turnKey, bool](), endedTurns: newRecent[turnKey, context.Context](), + endedScopes: newRecent[scopeKey, context.Context](), endedSessions: newRecent[string, *session](), calls: newRecent[turnKey, context.Context](), callSources: newRecent[turnKey, context.Context](), provider: "unknown"} +} +func stamp(event *aop.Event) time.Time { + if event.EmittedAt != nil { + return event.EmittedAt.AsTime() + } + return time.Now() +} +func attributes(event *aop.Event) []attribute.KeyValue { + return []attribute.KeyValue{ + attribute.String("cyber.session.id", event.SessionId), attribute.String("session.id", event.SessionId), attribute.String("gen_ai.conversation.id", event.SessionId), + attribute.String("cyber.turn.id", event.TurnId), attribute.String("cyber.emitter", event.Emitter), + attribute.String("aop.event.id", event.Id), attribute.Int64("aop.event.seq", int64(event.Seq)), + } +} +func (b *aopBridge) session(id string) *session { + if state := b.sessions[id]; state != nil { + return state + } + state, _ := b.endedSessions.get(id) + return state +} +func (b *aopBridge) ensureTurn(event *aop.Event) *turn { + key := turnKey{event.SessionId, event.TurnId} + if key.session == "" || key.turn == "" { + return nil + } + if _, ended := b.endedSessions.get(event.SessionId); ended { + return nil + } + if _, ended := b.endedTurns.get(key); ended { + return nil + } + if existing := b.turns[key]; existing != nil { + if at := stamp(event); at.After(existing.last) { + existing.last = at + } + return existing + } + ctx := context.Background() + attrs := append(attributes(event), attribute.String("openinference.span.kind", "AGENT"), attribute.String("gen_ai.operation.name", "invoke_agent"), attribute.String("gen_ai.provider.name", b.provider), attribute.Bool("cyber.start_missing", event.GetTurnStarted() == nil)) + name := "invoke_agent" + opts := []trace.SpanStartOption{trace.WithTimestamp(stamp(event))} + if state := b.session(event.SessionId); state != nil { + attrs = append(attrs, attribute.String("cyber.parent.session.id", state.parent), attribute.String("cyber.parent.call.id", state.call)) + background := false + if d := state.delegation; d != nil { + background = d.RunMode == types.DelegationRunBackground + if d.AgentName != "" { + name += " " + d.AgentName + attrs = append(attrs, attribute.String("gen_ai.agent.name", d.AgentName)) + } + if d.AgentId != "" { + attrs = append(attrs, attribute.String("gen_ai.agent.id", d.AgentId)) + } + attrs = append(attrs, attribute.String("cyber.agent.id", d.AgentId), attribute.String("cyber.agent.name", d.AgentName), attribute.String("cyber.agent.type", d.AgentType), attribute.String("cyber.agent.run_mode", d.RunMode), attribute.String("cyber.agent.context_mode", d.ContextMode)) + if b.capture { + attrs = append(attrs, attribute.String("cyber.agent.task", clip(d.Task))) + } + } + if state.call != "" { + if parent, ok := b.calls.get(turnKey{state.parent, state.call}); ok { + if background { + opts = append(opts, trace.WithLinks(trace.Link{SpanContext: trace.SpanContextFromContext(parent)})) + attrs = append(attrs, sourceAttributes(parent)...) + } else { + ctx = parent + } + } else { + attrs = append(attrs, attribute.Bool("cyber.parent.missing", true)) + } + } + } + opts = append(opts, trace.WithAttributes(attrs...)) + ctx, span := b.tracer.Start(ctx, name, opts...) + if state := b.sessions[event.SessionId]; state != nil { + state.ctx = ctx + } + run := &turn{ctx: ctx, span: span, last: stamp(event)} + b.turns[key] = run + return run +} +func (b *aopBridge) scopeContext(key scopeKey) (context.Context, bool) { + if state := b.scopes[key]; state != nil { + return state.ctx, true + } + return b.endedScopes.get(key) +} +func (b *aopBridge) startScope(event *aop.Event, key scopeKey, name, kind string, at time.Time, parent scopeKey, background bool, attrs ...attribute.KeyValue) *scopeSpan { + if _, ended := b.endedSessions.get(event.SessionId); ended { + return nil + } + if existing := b.scopes[key]; existing != nil { + return existing + } + if _, ended := b.endedScopes.get(key); ended { + return nil + } + ctx := context.Background() + opts := []trace.SpanStartOption{trace.WithTimestamp(at)} + attrs = append(attributes(event), attrs...) + attrs = append(attrs, attribute.String("openinference.span.kind", kind)) + if kind == "TOOL" { + // Only an assistant's actual tool-call ID proves model causality. + for _, attr := range attrs { + if attr.Key == "gen_ai.tool.call.id" { + if source, ok := b.callSources.get(turnKey{event.SessionId, attr.Value.AsString()}); ok { + opts = append(opts, trace.WithLinks(trace.Link{SpanContext: trace.SpanContextFromContext(source)})) + attrs = append(attrs, sourceAttributes(source)...) + } + break + } + } + } + if parent.id != "" { + if known, ok := b.scopeContext(parent); ok { + ctx = known + } else { + attrs = append(attrs, attribute.Bool("cyber.parent.missing", true)) + } + } + if !trace.SpanContextFromContext(ctx).IsValid() { + key := turnKey{event.SessionId, event.TurnId} + if source, closed := b.endedTurns.get(key); closed { + opts = append(opts, trace.WithLinks(trace.Link{SpanContext: trace.SpanContextFromContext(source)})) + attrs = append(attrs, sourceAttributes(source)...) + attrs = append(attrs, attribute.Bool("cyber.source.turn_ended", true)) + } else if background { + if run := b.turns[key]; run != nil { + opts = append(opts, trace.WithLinks(trace.Link{SpanContext: trace.SpanContextFromContext(run.ctx)})) + attrs = append(attrs, sourceAttributes(run.ctx)...) + } else { + attrs = append(attrs, attribute.Bool("cyber.source.missing", true)) + } + } else if run := b.ensureTurn(event); run != nil { + ctx = run.ctx + } + } + if kind == "LLM" { + opts = append(opts, trace.WithSpanKind(trace.SpanKindClient)) + } + opts = append(opts, trace.WithAttributes(attrs...)) + ctx, span := b.tracer.Start(ctx, name, opts...) + state := &scopeSpan{ctx: ctx, span: span, start: at, last: stamp(event)} + b.scopes[key] = state + return state +} +func endAt(span trace.Span, start, end time.Time) { + if end.Before(start) { + span.SetAttributes(attribute.Bool("cyber.timestamp.invalid", true)) + end = start + } + span.End(trace.WithTimestamp(end)) +} + +// Also expose source IDs as ordinary attributes for backends whose query API +// does not expose native OTel links (including the tested Phoenix version). +func sourceAttributes(ctx context.Context) []attribute.KeyValue { + span := trace.SpanContextFromContext(ctx) + return []attribute.KeyValue{attribute.String("cyber.source.trace_id", span.TraceID().String()), attribute.String("cyber.source.span_id", span.SpanID().String())} +} +func (b *aopBridge) endScope(key scopeKey, at time.Time) { + if state := b.scopes[key]; state != nil { + endAt(state.span, state.start, at) + b.endedScopes.put(key, trace.ContextWithSpanContext(context.Background(), state.span.SpanContext())) + delete(b.scopes, key) + } +} +func (b *aopBridge) factAttributes(event *aop.Event, extra ...attribute.KeyValue) []attribute.KeyValue { + attrs := append(attributes(event), attribute.String("aop.event.kind", aop.Kind(event))) + attrs = append(attrs, extra...) + if payload := event.GetExtension(); payload != nil { + attrs = append(attrs, attribute.String("aop.extension.type", string(payload.MessageName()))) + } + var extensionTypes []string + for _, value := range event.Extensions { + extensionTypes = append(extensionTypes, string(value.MessageName())) + } + if len(extensionTypes) > 0 { + attrs = append(attrs, attribute.StringSlice("aop.extension.types", extensionTypes)) + } + if b.capture { + if data, err := (protojson.MarshalOptions{UseProtoNames: true}).Marshal(event); err == nil { + attrs = append(attrs, attribute.String("aop.event.payload", clip(string(data)))) + } + } + return attrs +} + +func (b *aopBridge) addFact(span trace.Span, event *aop.Event, attrs []attribute.KeyValue) { + span.AddEvent(aop.Kind(event), trace.WithTimestamp(stamp(event)), trace.WithAttributes(b.factAttributes(event, attrs...)...)) +} + +func (b *aopBridge) fact(event *aop.Event, ref *operationpb.Ref, extra ...attribute.KeyValue) { + attrs := b.factAttributes(event, extra...) + if ref != nil { + key := scopeKey{event.SessionId, "operation", ref.OperationId} + if state := b.scopes[key]; state != nil { + state.last = stamp(event) + state.span.AddEvent(aop.Kind(event), trace.WithTimestamp(stamp(event)), trace.WithAttributes(attrs...)) + return + } + } + if run := b.ensureTurn(event); run != nil { + run.span.AddEvent(aop.Kind(event), trace.WithTimestamp(stamp(event)), trace.WithAttributes(attrs...)) + return + } + // A late/background fact remains observable without extending a closed Turn. + ctx := context.Background() + opts := []trace.SpanStartOption{trace.WithTimestamp(stamp(event)), trace.WithAttributes(append(attrs, attribute.String("openinference.span.kind", "CHAIN"))...)} + if ref != nil { + if parent, ok := b.scopeContext(scopeKey{event.SessionId, "operation", ref.OperationId}); ok { + ctx = parent + } + } + if !trace.SpanContextFromContext(ctx).IsValid() { + if source, ok := b.endedTurns.get(turnKey{event.SessionId, event.TurnId}); ok { + opts = append(opts, trace.WithLinks(trace.Link{SpanContext: trace.SpanContextFromContext(source)})) + opts = append(opts, trace.WithAttributes(sourceAttributes(source)...)) + } + } + _, span := b.tracer.Start(ctx, "aop."+aop.Kind(event), opts...) + span.End(trace.WithTimestamp(stamp(event))) +} + +// finishSession ends only work owned by this Session. A delegated background +// Agent has a different Session identity and outlives its caller independently. +func (b *aopBridge) finishSession(id string, at time.Time) { + for key, state := range b.scopes { + if key.session != id { + continue + } + failSpan(state.span, "incomplete", "scope completion was not observed") + state.span.SetAttributes(attribute.Bool("cyber.incomplete", true)) + b.endScope(key, at) + } + for key, run := range b.turns { + if key.session != id { + continue + } + b.finishRequests(run, nil, at) + failSpan(run.span, "incomplete", "turn completion was not observed") + run.span.SetAttributes(attribute.Bool("cyber.incomplete", true)) + run.span.End(trace.WithTimestamp(at)) + b.endedTurns.put(key, trace.ContextWithSpanContext(context.Background(), run.span.SpanContext())) + delete(b.turns, key) + } +} +func (b *aopBridge) finishOpen() { + // Partial streams need not contain SessionStarted. Use each owner's latest + // observation so shutdown cannot end a span before its last known event. + last := make(map[string]time.Time) + for key, state := range b.scopes { + if state.last.After(last[key.session]) { + last[key.session] = state.last + } + } + for key, run := range b.turns { + if run.last.After(last[key.session]) { + last[key.session] = run.last + } + } + for id, state := range b.sessions { + if state.last.After(last[id]) { + last[id] = state.last + } + } + for id, at := range last { + b.finishSession(id, at) + } + for id, state := range b.sessions { + b.sessionEnded(id, state, "incomplete", last[id]) + b.endedSessions.put(id, state) + delete(b.sessions, id) + } +} + +// Error classes come from AOP's finite outcomes, never from arbitrary messages. +// A handled/retryable error is an event; only terminal failures set error.type. +func failSpan(span trace.Span, kind, message string) { + span.SetStatus(codes.Error, message) + span.SetAttributes(attribute.String("error.type", kind)) +} diff --git a/exts/otel/events.go b/exts/otel/events.go new file mode 100644 index 000000000..158667094 --- /dev/null +++ b/exts/otel/events.go @@ -0,0 +1,338 @@ +package otel + +import ( + "context" + "fmt" + "time" + + "github.com/chainreactors/cyber/aop" + operationpb "github.com/chainreactors/cyber/aop/operation" + "github.com/chainreactors/cyber/core/types" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" + "google.golang.org/protobuf/encoding/protojson" +) + +func (b *aopBridge) consume(event *aop.Event) (resultErr error) { + if event == nil { + return nil + } + if event.Id != "" { + key := turnKey{event.SessionId, event.Id} + if _, seen := b.seen.get(key); seen { + return nil + } + b.seen.put(key, true) + } + defer func() { b.eventLog(event, resultErr) }() + if state := b.sessions[event.SessionId]; state != nil { + state.last = stamp(event) + } + if started := event.GetSessionStarted(); started != nil { + if b.session(event.SessionId) != nil { + return nil + } + detail, _, err := types.GetDelegation(event) + if err != nil { + return err + } + state := &session{model: started.Model, parent: started.ParentSessionId, call: started.ParentToolCallId, delegation: detail, emitter: event.Emitter, start: stamp(event), last: stamp(event), ctx: context.Background()} + if parent, ok := b.calls.get(turnKey{state.parent, state.call}); ok { + state.ctx = parent + } + b.sessions[event.SessionId] = state + b.sessionStarted(event.SessionId, state) + return nil + } + if ended := event.GetSessionEnded(); ended != nil { + b.finishSession(event.SessionId, stamp(event)) + state := b.sessions[event.SessionId] + if state != nil { + b.sessionEnded(event.SessionId, state, ended.Reason, stamp(event)) + delete(b.sessions, event.SessionId) + } else { + state = &session{ctx: context.Background()} + } + b.endedSessions.put(event.SessionId, state) + return nil + } + ref := new(operationpb.Ref) + if _, err := aop.FindTypedExtension(event, ref); err != nil { + return err + } + if handled, err := b.operation(event, ref); handled || err != nil { + return err + } + if handled, err := b.mechanism(event, ref); handled || err != nil { + return err + } + run := b.ensureTurn(event) + if run == nil { + if event.GetTurnStarted() == nil && event.GetTurnEnded() == nil { + b.fact(event, ref) + } + return nil + } + if event.GetTurnStarted() != nil { + return nil + } + if status := event.GetStatus(); status != nil && status.State == "llm_request" { + return b.request(event, run) + } + if usage := event.GetUsage(); usage != nil { + if run.llm != nil { + b.finishRequests(run, usage, stamp(event)) + } else { + b.fact(event, ref, usageSummary(usage)...) + } + return nil + } + if message := event.GetMessage(); message != nil { + if message.Role == "assistant" && run.llm != nil { + // Empty assistant messages discard a failed streamed attempt. + if len(message.Content) > 0 { + run.llm.end = stamp(event) + for _, content := range message.Content { + if call := content.GetToolCall(); call != nil && call.Id != "" { + b.callSources.put(turnKey{event.SessionId, call.Id}, trace.ContextWithSpanContext(context.Background(), run.llm.span.SpanContext())) + } + } + } else { + run.llm.end = time.Time{} + } + } + if b.capture { + encoded, err := protojson.Marshal(message) + if err != nil { + return err + } + content := clip(string(encoded)) + if message.Role == "user" { + run.input = content + run.span.SetAttributes(attribute.String("input.value", content)) + } + if message.Role == "assistant" { + if len(message.Content) == 0 { + content = "" + } + run.span.SetAttributes(attribute.String("output.value", content)) + if run.llm != nil { + run.llm.span.SetAttributes(attribute.String("output.value", content)) + } + } + } + } + if ended := event.GetTurnEnded(); ended != nil { + if ended.Error != nil || ended.StopReason == "canceled" { + kind, message := "error", "turn canceled" + if ended.StopReason == "canceled" { + kind = "canceled" + } + if ended.Error != nil { + message = ended.Error.Message + } + failSpan(run.span, kind, message) + // Usage follows tool execution. An already observed model response + // must survive a later tool failure or caller cancellation. + if run.llm != nil && run.llm.end.IsZero() { + failSpan(run.llm.span, kind, message) + run.llm.span.SetAttributes(attribute.String("cyber.stop_reason", ended.StopReason), attribute.Bool("cyber.llm.end_estimated", true)) + run.llm.end = stamp(event) + } + } + b.finishRequests(run, nil, stamp(event)) + // Turn usage summarizes the Agent; it is never billed a second time. + if ended.Usage != nil { + run.span.SetAttributes(usageSummary(ended.Usage)...) + } + run.span.SetAttributes(attribute.String("cyber.stop_reason", ended.StopReason), attribute.Int64("cyber.context.tokens", int64(ended.ContextTokens))) + run.span.End(trace.WithTimestamp(stamp(event))) + key := turnKey{event.SessionId, event.TurnId} + b.endedTurns.put(key, trace.ContextWithSpanContext(context.Background(), run.span.SpanContext())) + delete(b.turns, key) + return nil + } + if call := event.GetToolCall(); call != nil { + b.fact(event, ref, attribute.String("cyber.call.id", call.Id), attribute.String("tool.name", call.Name)) + return nil + } + if result := event.GetToolResult(); result != nil { + b.fact(event, ref, attribute.String("cyber.call.id", result.CallId), attribute.String("tool.name", result.Name), attribute.Bool("cyber.tool.is_error", result.IsError), attribute.Int64("cyber.tool.duration_ms", int64(result.DurationMs))) + return nil + } + b.fact(event, ref) + return nil +} +func (b *aopBridge) operation(event *aop.Event, ref *operationpb.Ref) (bool, error) { + payload := event.GetExtension() + if payload == nil { + return false, nil + } + var kind, name string + at := stamp(event) + var completed *operationpb.Completed + switch { + case payload.MessageIs(new(operationpb.Started)): + value := new(operationpb.Started) + if err := payload.UnmarshalTo(value); err != nil { + return true, err + } + kind, name = value.Kind, value.Name + case payload.MessageIs(new(operationpb.Completed)): + completed = new(operationpb.Completed) + if err := payload.UnmarshalTo(completed); err != nil { + return true, err + } + kind, name = completed.Kind, completed.Name + if completed.StartedAt != nil { + at = completed.StartedAt.AsTime() + } + default: + return false, nil + } + if ref.OperationId == "" { + b.fact(event, ref, attribute.Bool("cyber.operation.id_missing", true)) + return true, nil + } + key := scopeKey{event.SessionId, "operation", ref.OperationId} + attrs := []attribute.KeyValue{attribute.String("cyber.operation.id", ref.OperationId), attribute.String("cyber.operation.parent_id", ref.ParentOperationId), attribute.String("cyber.call.id", ref.CallId), attribute.String("cyber.resource.id", ref.ResourceId), attribute.String("cyber.operation.kind", kind), attribute.String("cyber.operation.correlation", ref.Correlation.String())} + if completed != nil && completed.StartedAt == nil && b.scopes[key] == nil { + attrs = append(attrs, attribute.Bool("cyber.start_missing", true)) + } + spanKind := "CHAIN" + if kind == "tool" { + spanKind = "TOOL" + attrs = append(attrs, attribute.String("tool.name", name), attribute.String("gen_ai.operation.name", "execute_tool"), attribute.String("gen_ai.tool.name", name), attribute.String("gen_ai.tool.call.id", ref.CallId)) + } + spanName := kind + "." + name + if kind == "tool" { + spanName = "execute_tool " + name + } + state := b.startScope(event, key, spanName, spanKind, at, scopeKey{event.SessionId, "operation", ref.ParentOperationId}, false, attrs...) + if state == nil { + return true, nil + } + if kind == "tool" && ref.CallId != "" { + b.calls.put(turnKey{event.SessionId, ref.CallId}, trace.ContextWithSpanContext(context.Background(), state.span.SpanContext())) + } + if completed != nil { + if completed.Failure != nil { + failSpan(state.span, failureType(completed.Failure.Kind), completed.Failure.Message) + state.span.SetAttributes(attribute.String("cyber.failure.kind", completed.Failure.Kind.String())) + state.span.RecordError(fmt.Errorf("%s", completed.Failure.Message), trace.WithTimestamp(stamp(event))) + } + b.endScope(key, stamp(event)) + } + return true, nil +} +func (b *aopBridge) request(event *aop.Event, run *turn) error { + detail := new(types.LLMRequestDetail) + if _, err := aop.FindTypedExtension(event, detail); err != nil { + return err + } + run.requests++ + if run.llm != nil { + // AOP reports cumulative usage for a logical call. Record retry evidence + // on that call instead of inventing per-attempt duration/token pairs. + if !run.llm.end.IsZero() { + run.llm.span.SetAttributes(attribute.Bool("cyber.llm.grouping.uncertain", true)) + } + run.llm.attempts++ + run.llm.end = time.Time{} + if b.capture { + run.llm.span.SetAttributes(attribute.String("output.value", "")) + run.span.SetAttributes(attribute.String("output.value", "")) + } + b.addFact(run.llm.span, event, []attribute.KeyValue{attribute.Int("cyber.llm.attempt", run.llm.attempts)}) + return nil + } + model := detail.Model + if model == "" { + if state := b.session(event.SessionId); state != nil { + model = state.model + } + } + attrs := append(attributes(event), attribute.String("openinference.span.kind", "LLM"), attribute.String("gen_ai.operation.name", "chat"), attribute.String("gen_ai.provider.name", b.provider), attribute.Int("cyber.llm.request", run.requests), attribute.Int("cyber.llm.messages", int(detail.Messages)), attribute.Bool("gen_ai.request.stream", detail.Stream), attribute.String("cyber.usage.scope", "logical_request")) + if model != "" { + attrs = append(attrs, attribute.String("llm.model_name", model), attribute.String("gen_ai.request.model", model)) + } + if detail.MaxTokens > 0 { + attrs = append(attrs, attribute.Int("gen_ai.request.max_tokens", int(detail.MaxTokens))) + } + if b.capture && run.input != "" { + attrs = append(attrs, attribute.String("input.value", run.input), attribute.String("cyber.input.scope", "latest_user_message")) + } + name := "chat" + if model != "" { + name += " " + model + } + ctx, span := b.tracer.Start(run.ctx, name, trace.WithTimestamp(stamp(event)), trace.WithSpanKind(trace.SpanKindClient), trace.WithAttributes(attrs...)) + run.modelCtx = ctx + run.llm = &requestSpan{span: span, start: stamp(event), attempts: 1} + b.addFact(span, event, []attribute.KeyValue{attribute.Int("cyber.llm.attempt", 1)}) + return nil +} +func (b *aopBridge) finishRequests(run *turn, usage *aop.TokenUsage, at time.Time) { + request := run.llm + if request == nil { + return + } + end := request.end + if end.IsZero() { + end = at + request.span.SetAttributes(attribute.Bool("cyber.llm.end_estimated", true)) + } + request.span.SetAttributes(attribute.Int("cyber.llm.observed_attempts", request.attempts)) + if usage != nil { + setUsage(request.span, usage) + } else { + request.span.SetAttributes(attribute.Bool("cyber.usage.missing", true)) + if request.end.IsZero() { + failSpan(request.span, "incomplete", "request completion was not observed") + request.span.SetAttributes(attribute.Bool("cyber.incomplete", true)) + } + } + endAt(request.span, request.start, end) + run.llm = nil +} +func failureType(kind operationpb.FailureKind) string { + switch kind { + case operationpb.FailureKind_FAILURE_KIND_DENIED: + return "denied" + case operationpb.FailureKind_FAILURE_KIND_START_FAILED: + return "start_failed" + case operationpb.FailureKind_FAILURE_KIND_CANCELED: + return "canceled" + case operationpb.FailureKind_FAILURE_KIND_TIMEOUT: + return "timeout" + case operationpb.FailureKind_FAILURE_KIND_PANIC: + return "panic" + default: + return "error" + } +} +func usageSummary(usage *aop.TokenUsage) []attribute.KeyValue { + return []attribute.KeyValue{attribute.Int64("cyber.tokens.total", int64(usage.TotalTokens)), attribute.Int64("cyber.tokens.input", int64(usage.InputTokens)), attribute.Int64("cyber.tokens.output", int64(usage.OutputTokens))} +} +func setUsage(span trace.Span, usage *aop.TokenUsage) { + span.SetAttributes(attribute.Bool("cyber.usage.missing", usage.Detail["usage_missing"] > 0)) + for key, value := range usage.Detail { + span.SetAttributes(attribute.Int64("cyber.usage.detail."+key, int64(value))) + } + if requests := usage.Detail["requests"]; requests > 0 && usage.Detail["usage_missing"] >= requests { + // All attempts lack usage: the accumulator's zero is not reported usage. + return + } + span.SetAttributes(attribute.Int64("llm.token_count.prompt", int64(usage.InputTokens)), attribute.Int64("llm.token_count.completion", int64(usage.OutputTokens)), attribute.Int64("llm.token_count.total", int64(usage.TotalTokens)), attribute.Int64("gen_ai.usage.input_tokens", int64(usage.InputTokens)), attribute.Int64("gen_ai.usage.output_tokens", int64(usage.OutputTokens))) + for key, value := range usage.Detail { + switch key { + case "cache_read": + span.SetAttributes(attribute.Int64("gen_ai.usage.cache_read.input_tokens", int64(value))) + case "cache_write": + span.SetAttributes(attribute.Int64("gen_ai.usage.cache_creation.input_tokens", int64(value))) + case "reasoning": + span.SetAttributes(attribute.Int64("gen_ai.usage.reasoning.output_tokens", int64(value))) + } + } + // Usage.Model is the configured request alias, not an observed response model. +} diff --git a/exts/otel/extension.go b/exts/otel/extension.go new file mode 100644 index 000000000..24cbae5cc --- /dev/null +++ b/exts/otel/extension.go @@ -0,0 +1,300 @@ +// Package otel exports the existing AOP stream as OTel traces, logs and metrics. +package otel + +import ( + "context" + "errors" + "fmt" + "strings" + "sync" + "time" + + aop "github.com/chainreactors/cyber/aop" + "github.com/chainreactors/cyber/core/eventbus" + "github.com/chainreactors/cyber/core/events" + "github.com/chainreactors/cyber/core/extension" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" + sdklog "go.opentelemetry.io/otel/sdk/log" + sdkmetric "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/sdk/resource" + sdktrace "go.opentelemetry.io/otel/sdk/trace" + "go.opentelemetry.io/otel/trace" + "go.opentelemetry.io/otel/trace/noop" + "google.golang.org/protobuf/proto" +) + +type Options struct { + // Endpoint is the OTLP/HTTP base URL, e.g. http://127.0.0.1:24318. + Endpoint string + // Signal endpoints are complete URLs; they override Endpoint without path appending. + TraceEndpoint, LogEndpoint, MetricEndpoint string + // ProviderName identifies the configured client/provider dialect, not the + // vendor behind a compatible gateway. Unknown is explicit, never model-derived. + ProviderName string + ServiceName string + Project string + // CaptureContent includes bounded input/output and event payloads. Off by default. + CaptureContent bool + Queue int + // Exporter optionally supplies an application-owned destination. The extension + // owns its lifecycle once loaded; omit to use the OTLP/HTTP exporter. + Exporter sdktrace.SpanExporter + // Endpoints or supplied exporters enable their signals independently. + // The extension owns every exporter. + LogExporter sdklog.Exporter + MetricExporter sdkmetric.Exporter + DisableLogs, DisableMetrics bool + // MetricInterval defaults to 10 seconds; Flush/Close also export metrics. + MetricInterval time.Duration + // ResourceAttributes apply equally to all signals, e.g. service.instance.id. + ResourceAttributes []attribute.KeyValue +} + +type Extension struct { + options Options + lifecycle sync.Mutex + sub *eventbus.Subscription[*aop.Event] + provider *sdktrace.TracerProvider + exporter *checkedExporter + logs *sdklog.LoggerProvider + metrics *sdkmetric.MeterProvider + failures exportErrors + signals *signals + reportedDrops uint64 + bridge *aopBridge + closeDone chan struct{} + closeErr error + loaded, closed bool +} + +var _ extension.Extension = (*Extension)(nil) + +func New(options Options) (*Extension, error) { + if err := options.resolveEndpoints(); err != nil { + return nil, err + } + if options.ProviderName == "" { + options.ProviderName = "unknown" + } + if options.ServiceName == "" { + options.ServiceName = "cyber" + } + if options.Project == "" { + options.Project = options.ServiceName + } + if options.Queue <= 0 { + options.Queue = 512 + } + if options.MetricInterval <= 0 { + options.MetricInterval = 10 * time.Second + } + options.ResourceAttributes = append([]attribute.KeyValue(nil), options.ResourceAttributes...) + return &Extension{options: options}, nil +} + +func (e *Extension) Load(scope *extension.Scope) error { + e.lifecycle.Lock() + defer e.lifecycle.Unlock() + if e.closed || e.closeDone != nil { + return fmt.Errorf("OTel extension is closing or closed") + } + if e.loaded { + return nil + } + stream, err := extension.Use[*events.Stream](scope) + if err != nil { + return err + } + exporter := e.options.Exporter + if exporter == nil && e.options.TraceEndpoint != "" { + exporter, err = otlptracehttp.New(scope.Init(), otlptracehttp.WithEndpointURL(e.options.TraceEndpoint), otlptracehttp.WithTimeout(5*time.Second)) + if err != nil { + return err + } + } + attrs := append([]attribute.KeyValue{ + attribute.String("service.name", e.options.ServiceName), + attribute.String("service.instance.id", aop.EnvelopeID()), + attribute.String("openinference.project.name", e.options.Project), + attribute.String("cyber.otel.gen_ai.version", genAIVersion), + }, e.options.ResourceAttributes...) + res := resource.NewSchemaless(attrs...) + // Set owns cleanup, including Close after a partially successful Load. + if exporter != nil { + e.exporter = &checkedExporter{SpanExporter: exporter} + e.provider = sdktrace.NewTracerProvider( + sdktrace.WithResource(res), + sdktrace.WithBatcher(e.exporter, sdktrace.WithMaxQueueSize(2048), sdktrace.WithMaxExportBatchSize(512), sdktrace.WithBatchTimeout(100*time.Millisecond), sdktrace.WithExportTimeout(5*time.Second), sdktrace.WithBlocking()), + ) + } + if err := e.loadSignals(scope.Init(), res); err != nil { + return err + } + tracer := noop.NewTracerProvider().Tracer(instrumentationName) + if e.provider != nil { + tracer = e.provider.Tracer(instrumentationName, trace.WithInstrumentationVersion(instrumentationVersion)) + } + e.bridge = newAOPBridge(signalTracer{Tracer: tracer, signals: e.signals}, e.options.CaptureContent) + e.bridge.signals = e.signals + e.bridge.provider = e.options.ProviderName + e.sub, err = stream.Consume(eventbus.SubscribeOptions[*aop.Event]{ + Buffer: e.options.Queue, MaxBytes: 16 << 20, + Filter: func(event *aop.Event) bool { + if event == nil { + return false + } + switch event.Payload.(type) { + case *aop.Event_MessageDelta, *aop.Event_ToolCallDelta, *aop.Event_ProviderFrame: + return false + } + return true + }, + Size: func(event *aop.Event) int64 { return int64(proto.Size(event)) }, + Clone: func(event *aop.Event) *aop.Event { return proto.CloneOf(event) }, + }, e.bridge.consume) + if err != nil { + return err + } + e.loaded = true + return nil +} + +func (e *Extension) Flush(ctx context.Context) error { + e.lifecycle.Lock() + defer e.lifecycle.Unlock() + if e.sub == nil || e.closed { + return nil + } + if e.closeDone != nil { + return fmt.Errorf("%w: OTel extension is closing", extension.ErrCloseIncomplete) + } + if err := e.sub.Flush(ctx); err != nil { + return err + } + e.recordDrops() + var traceErr, logErr, metricErr error + if e.provider != nil { + traceErr = e.provider.ForceFlush(ctx) + } + if e.exporter != nil { + traceErr = errors.Join(traceErr, e.exporter.Err()) + } + if e.logs != nil { + logErr = e.logs.ForceFlush(ctx) + } + if e.metrics != nil { + metricErr = e.metrics.ForceFlush(ctx) + } + return errors.Join(e.subscriptionError(), traceErr, logErr, metricErr, e.failures.Err()) +} + +func (e *Extension) Close(ctx context.Context) error { + e.lifecycle.Lock() + if e.closeDone == nil { + if err := ctx.Err(); err != nil { + e.lifecycle.Unlock() + return errors.Join(extension.ErrCloseIncomplete, err) + } + e.closeDone = make(chan struct{}) + // SDK Shutdown is one-shot. Let the extension own its completion instead + // of passing a caller deadline that cannot be retried inside the SDK. + go e.finishClose(context.WithoutCancel(ctx)) + } + done := e.closeDone + e.lifecycle.Unlock() + select { + case <-done: + return e.closeErr + default: + } + select { + case <-done: + return e.closeErr + case <-ctx.Done(): + return errors.Join(extension.ErrCloseIncomplete, ctx.Err()) + } +} + +func (e *Extension) finishClose(ctx context.Context) { + var errs []error + if e.sub != nil { + errs = append(errs, e.sub.Close(ctx)) + } + if e.bridge != nil { + e.bridge.finishOpen() + } + e.recordDrops() + errs = append(errs, e.shutdown(ctx), e.subscriptionError(), e.failures.Err()) + if e.exporter != nil { + errs = append(errs, e.exporter.Err()) + } + e.lifecycle.Lock() + e.closeErr = errors.Join(errs...) + if errors.Is(e.closeErr, context.Canceled) || errors.Is(e.closeErr, context.DeadlineExceeded) { + // Export timeouts are retained diagnostics after shutdown has completed. + // They must not tell Set.Close that this extension still owns live work. + e.closeErr = completedCloseError{e.closeErr} + } + e.closed = true + close(e.closeDone) + e.lifecycle.Unlock() +} + +// No Unwrap: caller cancellation means incomplete cleanup, while an exporter +// timeout after completed shutdown does not. Preserve other error identities +// and types without exposing those two lifecycle cancellation sentinels. +type completedCloseError struct{ err error } + +func (e completedCloseError) Error() string { + return "OTel shutdown completed with signal errors: " + e.err.Error() +} +func (e completedCloseError) Is(target error) bool { + return target != context.Canceled && target != context.DeadlineExceeded && errors.Is(e.err, target) +} +func (e completedCloseError) As(target any) bool { return errors.As(e.err, target) } + +func (e *Extension) subscriptionError() error { + if e.sub == nil { + return nil + } + var overflow error + if dropped := e.sub.Dropped(); dropped > 0 { + overflow = fmt.Errorf("OTel signals incomplete: %d AOP events dropped", dropped) + } + return errors.Join(e.sub.Err(), overflow) +} + +// Batch exporters report asynchronous failures through the SDK error handler. +// Retain them as well so Flush/Close cannot claim a successful export after loss. +type checkedExporter struct { + sdktrace.SpanExporter + mu sync.Mutex + err error +} + +func (e *checkedExporter) ExportSpans(ctx context.Context, spans []sdktrace.ReadOnlySpan) error { + err := e.SpanExporter.ExportSpans(ctx, spans) + if err != nil { + e.mu.Lock() + if e.err == nil { + e.err = fmt.Errorf("export OTel spans: %w", err) + } + e.mu.Unlock() + } + return err +} + +func (e *checkedExporter) Err() error { + e.mu.Lock() + defer e.mu.Unlock() + return e.err +} + +func clip(value string) string { + const limit = 4096 + if len(value) <= limit { + return value + } + return strings.ToValidUTF8(value[:limit], "") + "…" +} diff --git a/exts/otel/lifecycle.go b/exts/otel/lifecycle.go new file mode 100644 index 000000000..4037969ac --- /dev/null +++ b/exts/otel/lifecycle.go @@ -0,0 +1,183 @@ +package otel + +import ( + "context" + "fmt" + "strings" + "time" + + "github.com/chainreactors/cyber/aop" + operationpb "github.com/chainreactors/cyber/aop/operation" + "github.com/chainreactors/cyber/core/types" + "go.opentelemetry.io/otel/attribute" + otellog "go.opentelemetry.io/otel/log" + "go.opentelemetry.io/otel/metric" +) + +func sessionAttributes(id string, state *session) []attribute.KeyValue { + attrs := []attribute.KeyValue{attribute.String("cyber.session.id", id), attribute.String("session.id", id), attribute.String("cyber.emitter", state.emitter), attribute.String("gen_ai.request.model", state.model), attribute.String("cyber.parent.session.id", state.parent), attribute.String("cyber.parent.call.id", state.call), attribute.String("cyber.lifecycle.source", "aop_projection")} + if d := state.delegation; d != nil { + attrs = append(attrs, attribute.String("cyber.agent.id", d.AgentId), attribute.String("cyber.agent.name", d.AgentName), attribute.String("cyber.agent.type", d.AgentType), attribute.String("cyber.agent.run_mode", d.RunMode), attribute.String("cyber.agent.context_mode", d.ContextMode)) + } + return attrs +} +func (b *aopBridge) sessionStarted(id string, state *session) { + s := b.signals + if s == nil { + return + } + if s.sessions != nil { + s.sessions.Add(state.ctx, 1, metric.WithAttributes(attribute.String("cyber.lifecycle.state", "started"))) + s.sessionsActive.Add(state.ctx, 1) + } + s.emit(state.ctx, "agent.session.started", state.start, otellog.SeverityInfo, sessionAttributes(id, state)...) +} +func (b *aopBridge) sessionEnded(id string, state *session, reason string, at time.Time) { + s := b.signals + if s == nil { + return + } + phase := "completed" + severity := otellog.SeverityInfo + if reason == "incomplete" { + phase = "incomplete" + severity = otellog.SeverityError + } + duration := max(0, at.Sub(state.start).Seconds()) + if s.sessions != nil { + labels := []attribute.KeyValue{attribute.String("cyber.lifecycle.state", phase)} + s.sessions.Add(state.ctx, 1, metric.WithAttributes(labels...)) + s.sessionsActive.Add(state.ctx, -1) + s.sessionDuration.Record(state.ctx, duration, metric.WithAttributes(labels...)) + } + s.emit(state.ctx, "agent.session."+phase, at, severity, append(sessionAttributes(id, state), attribute.String("cyber.stop_reason", reason), attribute.Float64("cyber.duration.seconds", duration))...) +} + +// eventLog preserves every accepted non-streaming AOP fact. Projection lifecycle +// logs distinguish observed scope completions from duplicate input facts. +func (b *aopBridge) eventLog(event *aop.Event, conversionErr error) { + s := b.signals + if s == nil { + return + } + kind := aop.Kind(event) + if s.events != nil { + s.events.Add(context.Background(), 1, metric.WithAttributes(attribute.String("aop.event.kind", kind))) + } + if s.logger == nil { + return + } + attrs := b.factAttributes(event) + ctx := context.Background() + if run := b.turns[turnKey{event.SessionId, event.TurnId}]; run != nil { + ctx = run.ctx + if status := event.GetStatus(); status != nil && status.State == "llm_request" && run.modelCtx != nil { + ctx = run.modelCtx + } + if event.GetUsage() != nil && run.modelCtx != nil { + ctx = run.modelCtx + } + if message := event.GetMessage(); message != nil && message.Role == "assistant" && run.modelCtx != nil { + ctx = run.modelCtx + } + } else if previous, ok := b.endedTurns.get(turnKey{event.SessionId, event.TurnId}); ok { + ctx = previous + } else if state := b.session(event.SessionId); state != nil && state.ctx != nil { + ctx = state.ctx + } + ref := new(operationpb.Ref) + _, _ = aop.FindTypedExtension(event, ref) + if ref.OperationId != "" { + attrs = append(attrs, attribute.String("cyber.operation.id", ref.OperationId), attribute.String("cyber.operation.parent_id", ref.ParentOperationId), attribute.String("cyber.call.id", ref.CallId), attribute.String("cyber.resource.id", ref.ResourceId)) + if operation, ok := b.scopeContext(scopeKey{event.SessionId, "operation", ref.OperationId}); ok { + ctx = operation + } + } + severity := otellog.SeverityInfo + if status := event.GetStatus(); status != nil { + attrs = append(attrs, attribute.String("cyber.status.state", status.State)) + var key scopeKey + switch status.State { + case types.CompactStateStart, types.CompactStateEnd, types.CompactStateError: + key = scopeKey{event.SessionId, "compact", event.TurnId} + case types.EvalStateStart, types.EvalStateEnd, types.EvalStateError: + detail, _, _ := types.GetEvalDetail(event) + key = scopeKey{event.SessionId, "eval", fmt.Sprintf("%s/%d", event.TurnId, detail.Round)} + } + if key.id != "" { + if mechanism, ok := b.scopeContext(key); ok { + ctx = mechanism + } + } + } + if usage := event.GetUsage(); usage != nil { + attrs = append(attrs, usageSummary(usage)...) + attrs = append(attrs, attribute.Bool("cyber.usage.missing", usage.Detail["usage_missing"] > 0)) + } + if ended := event.GetTurnEnded(); ended != nil { + attrs = append(attrs, attribute.String("cyber.stop_reason", ended.StopReason)) + if ended.Error != nil { + severity = otellog.SeverityError + } + } + if event.GetError() != nil { + severity = otellog.SeverityError + } + if call := event.GetToolCall(); call != nil { + attrs = append(attrs, attribute.String("cyber.call.id", call.Id), attribute.String("tool.name", call.Name)) + } + if result := event.GetToolResult(); result != nil { + if call, ok := b.calls.get(turnKey{event.SessionId, result.CallId}); ok { + ctx = call + } + attrs = append(attrs, attribute.String("cyber.call.id", result.CallId), attribute.String("tool.name", result.Name), attribute.Bool("cyber.tool.is_error", result.IsError)) + if result.IsError { + severity = otellog.SeverityError + } + } + if payload := event.GetExtension(); payload != nil { + if payload.MessageIs(new(operationpb.Completed)) { + completed := new(operationpb.Completed) + if payload.UnmarshalTo(completed) == nil { + attrs = append(attrs, attribute.String("cyber.operation.kind", completed.Kind)) + if completed.Failure != nil { + severity = otellog.SeverityError + attrs = append(attrs, attribute.String("cyber.failure.kind", completed.Failure.Kind.String())) + } + } + } + if string(payload.MessageName()) == "cyber.jev.RuntimeEvent" { + if value, err := payload.UnmarshalNew(); err == nil { + runtime := value.ProtoReflect() + attrs = append(attrs, attribute.Bool("cyber.background", boolField(runtime, "background"))) + if oneof := runtime.Descriptor().Oneofs().ByName("payload"); oneof != nil { + if selected := runtime.WhichOneof(oneof); selected != nil { + detail := runtime.Get(selected).Message() + id := textField(detail, "request_id") + attrs = append(attrs, attribute.String("cyber.jev.event_kind", string(selected.Name())), attribute.String("cyber.request.id", id)) + if mechanism, ok := b.scopeContext(scopeKey{event.SessionId, "jev", id}); ok { + ctx = mechanism + } + } + } + } + } + if string(payload.MessageName()) == "cyber.guardrail.Review" { + if value, err := payload.UnmarshalNew(); err == nil { + attrs = append(attrs, attribute.String("cyber.guardrail.state", enumField(value.ProtoReflect(), "state"))) + if mechanism, ok := b.scopeContext(scopeKey{event.SessionId, "guardrail", ref.OperationId}); ok { + ctx = mechanism + } + } + } + } + if conversionErr != nil { + severity = otellog.SeverityError + attrs = append(attrs, attribute.String("cyber.conversion.error", clip(conversionErr.Error()))) + } + name := kind + if !strings.HasPrefix(name, "aop.") { + name = "aop." + kind + } + s.emit(ctx, name, stamp(event), severity, attrs...) +} diff --git a/exts/otel/mechanisms.go b/exts/otel/mechanisms.go new file mode 100644 index 000000000..4264384f0 --- /dev/null +++ b/exts/otel/mechanisms.go @@ -0,0 +1,317 @@ +package otel + +import ( + "errors" + "fmt" + "strings" + "time" + + "github.com/chainreactors/cyber/aop" + operationpb "github.com/chainreactors/cyber/aop/operation" + "github.com/chainreactors/cyber/core/types" + "go.opentelemetry.io/otel/attribute" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// These adapters interpret existing Cyber Any payloads. Descriptor lookup keeps +// OTel independent of optional JEV/guardrail runtimes. Unknown payloads remain +// AOP facts; a binary that uses those extensions already registers their types. +func (b *aopBridge) mechanism(event *aop.Event, ref *operationpb.Ref) (bool, error) { + if status := event.GetStatus(); status != nil { + switch status.State { + case types.CompactStateStart, types.CompactStateEnd, types.CompactStateError: + detail, _, err := types.GetCompactDetail(event) + if err != nil { + return true, err + } + attrs := []attribute.KeyValue{attribute.String("cyber.mechanism.kind", "compact"), attribute.Int64("cyber.compact.tokens_before", int64(detail.TokensBefore)), attribute.Int64("cyber.compact.tokens_after", int64(detail.TokensAfter)), attribute.Int64("cyber.compact.kept_messages", int64(detail.KeptMessages))} + return true, b.statusScope(event, "compact", event.TurnId, status.State, detail.Error, attrs) + case types.EvalStateStart, types.EvalStateEnd, types.EvalStateError: + detail, _, err := types.GetEvalDetail(event) + if err != nil { + return true, err + } + attrs := []attribute.KeyValue{attribute.String("cyber.mechanism.kind", "eval"), attribute.Int("cyber.eval.round", int(detail.Round)), attribute.Int("cyber.eval.max_rounds", int(detail.MaxRounds)), attribute.Bool("cyber.eval.pass", detail.Pass)} + if b.capture { + attrs = append(attrs, attribute.String("cyber.eval.reason", clip(detail.Reason))) + } + return true, b.statusScope(event, "eval", fmt.Sprintf("%s/%d", event.TurnId, detail.Round), status.State, detail.Error, attrs) + } + if status.State == "token_budget_warning" { + detail := new(types.BudgetWarning) + if _, err := aop.FindTypedExtension(event, detail); err != nil { + return true, err + } + b.fact(event, ref, attribute.Int64("cyber.context.tokens", int64(detail.ContextTokens)), attribute.Int64("cyber.token_budget", int64(detail.TokenBudget))) + return true, nil + } + } + payload := event.GetExtension() + if payload == nil { + return false, nil + } + switch string(payload.MessageName()) { + case "cyber.jev.RuntimeEvent", "cyber.guardrail.Review": + value, err := payload.UnmarshalNew() + if errors.Is(err, protoregistry.NotFound) { + return false, nil + } + if err != nil { + return true, err + } + if string(payload.MessageName()) == "cyber.jev.RuntimeEvent" { + return true, b.jev(event, value.ProtoReflect()) + } + return true, b.review(event, ref, value.ProtoReflect()) + default: + return false, nil + } +} +func (b *aopBridge) statusScope(event *aop.Event, kind, id, state, failure string, attrs []attribute.KeyValue) error { + key := scopeKey{event.SessionId, kind, id} + // Status lifecycles have no request IDs. Multiple compactions in one Turn + // reuse this identity only after the preceding lifecycle has completed. + if strings.HasSuffix(state, "_start") { + b.endedScopes.forget(key) + b.startScope(event, key, "agent."+kind, "CHAIN", stamp(event), scopeKey{}, false, attrs...) + return nil + } + current := b.scopes[key] + if current == nil { + attrs = append(attrs, attribute.Bool("cyber.start_missing", true)) + current = b.startScope(event, key, "agent."+kind, "CHAIN", stamp(event), scopeKey{}, false, attrs...) + } + if current == nil { + return nil + } + current.span.SetAttributes(attrs...) + if failure != "" { + failSpan(current.span, "error", failure) + } + b.endScope(key, stamp(event)) + return nil +} + +func field(message protoreflect.Message, name string) protoreflect.FieldDescriptor { + return message.Descriptor().Fields().ByName(protoreflect.Name(name)) +} +func textField(message protoreflect.Message, name string) string { + if f := field(message, name); f != nil { + return message.Get(f).String() + } + return "" +} +func messageField(message protoreflect.Message, name string) protoreflect.Message { + if f := field(message, name); f != nil && message.Has(f) { + return message.Get(f).Message() + } + return nil +} +func intField(message protoreflect.Message, name string) int64 { + if f := field(message, name); f != nil { + return message.Get(f).Int() + } + return 0 +} +func uintField(message protoreflect.Message, name string) uint64 { + if f := field(message, name); f != nil { + return message.Get(f).Uint() + } + return 0 +} +func boolField(message protoreflect.Message, name string) bool { + if f := field(message, name); f != nil { + return message.Get(f).Bool() + } + return false +} +func enumField(message protoreflect.Message, name string) string { + if f := field(message, name); f != nil { + if value := f.Enum().Values().ByNumber(message.Get(f).Enum()); value != nil { + return string(value.Name()) + } + } + return "" +} +func copyMessage(message protoreflect.Message, target proto.Message) error { + data, err := proto.Marshal(message.Interface()) + if err != nil { + return err + } + return proto.Unmarshal(data, target) +} +func reportedUsage(message protoreflect.Message) (*aop.TokenUsage, error) { + value := messageField(message, "usage") + if value == nil { + return nil, nil + } + usage := new(aop.TokenUsage) + err := copyMessage(value, usage) + return usage, err +} +func (b *aopBridge) jev(event *aop.Event, runtime protoreflect.Message) error { + attrs := []attribute.KeyValue{attribute.Bool("cyber.background", boolField(runtime, "background")), attribute.Int64("cyber.jev.step", int64(uintField(runtime, "step")))} + eventKind := "unknown" + if oneof := runtime.Descriptor().Oneofs().ByName("payload"); oneof != nil { + if selected := runtime.WhichOneof(oneof); selected != nil { + eventKind = string(selected.Name()) + } + } + attrs = append(attrs, attribute.String("cyber.jev.event_kind", eventKind)) + for _, name := range []string{"task_id", "segment_id", "previous_segment_id", "reflex_id", "call_id", "boundary_id", "claim_id"} { + attrs = append(attrs, attribute.String("cyber.jev."+name, textField(runtime, name))) + } + background := boolField(runtime, "background") + var detail protoreflect.Message + var kind string + var started, finished bool + if detail = messageField(runtime, "decision_request"); detail != nil { + kind = "decision" + started = true + } + if result := messageField(runtime, "decision_result"); result != nil { + detail = result + kind = "decision" + finished = true + } + if generation := messageField(runtime, "generation"); generation != nil { + detail = generation + kind = textField(detail, "kind") + started = textField(detail, "state") == "started" + finished = textField(detail, "state") == "finished" + } + if detail == nil || (!started && !finished) { + if fact := messageField(runtime, eventKind); fact != nil { + for _, name := range []string{"state", "code", "error_stage", "replaced_reflex_id"} { + if field(fact, name) != nil { + attrs = append(attrs, attribute.String("cyber.jev."+name, textField(fact, name))) + } + } + } + if background { + key := scopeKey{event.SessionId, "jev.fact", event.Id} + if state := b.startScope(event, key, "jev."+eventKind, "CHAIN", stamp(event), scopeKey{}, true, attrs...); state != nil { + // Keep opt-in evidence and extension type on background facts too. + b.addFact(state.span, event, attrs) + b.endScope(key, stamp(event)) + } + } else { + b.fact(event, nil, attrs...) + } + return nil + } + id := textField(detail, "request_id") + if id == "" { + b.fact(event, nil, append(attrs, attribute.Bool("cyber.request.id_missing", true))...) + return nil + } + key := scopeKey{event.SessionId, "jev", id} + parent := scopeKey{event.SessionId, "jev", textField(detail, "parent_request_id")} + attrs = append(attrs, attribute.String("cyber.mechanism.kind", "jev"), attribute.String("cyber.jev.kind", kind), attribute.String("cyber.request.id", id), attribute.String("cyber.request.parent_id", parent.id), attribute.String("cyber.jev.purpose", textField(detail, "purpose")), attribute.Int64("cyber.jev.attempt", int64(uintField(detail, "attempt"))), attribute.String("cyber.jev.phase", textField(detail, "phase")), attribute.String("cyber.jev.error_stage", textField(detail, "error_stage")), attribute.String("cyber.jev.requested_effort", textField(detail, "requested_effort"))) + spanKind := "CHAIN" + if kind == "decision" || kind == "compiler_round" || strings.HasSuffix(kind, "_llm") { + spanKind = "LLM" + } + // reflex_llm is a compilation summary, including in older records without + // atomic rounds. Never bill it as a leaf: rounds can arrive after its End. + if kind == "reflex_llm" { + spanKind = "CHAIN" + } + if spanKind == "LLM" { + // JEV's evaluator is a separate client dialect. Generation calls expose + // no provider/model fact; do not borrow the main Agent's configuration. + operation, provider := "chat", "unknown" + if kind == "decision" { + operation, provider = "evaluate", "jev" + } + attrs = append(attrs, attribute.String("gen_ai.operation.name", operation), attribute.String("gen_ai.provider.name", provider)) + } + at := stamp(event) + if finished && b.scopes[key] == nil { + elapsed := intField(detail, "elapsed_ms") + if elapsed > 0 { + at = at.Add(-time.Duration(elapsed) * time.Millisecond) + } + attrs = append(attrs, attribute.Bool("cyber.start_missing", true)) + } + state := b.startScope(event, key, "jev."+kind, spanKind, at, parent, background, attrs...) + if state == nil { + return nil + } + if kind == "compiler_round" && parent.id != "" { + if owner := b.scopes[parent]; owner != nil { + owner.children = true + } + } + if !finished { + return nil + } + state.span.SetAttributes(attrs...) + if failure := textField(detail, "error"); failure != "" { + failSpan(state.span, "error", failure) + } + usage, err := reportedUsage(detail) + if err != nil { + return err + } + if kind == "reflex_llm" { + state.span.SetAttributes(attribute.String("openinference.span.kind", "CHAIN"), attribute.String("cyber.usage.scope", "summary"), attribute.Bool("cyber.usage.leaf_observed_at_end", state.children)) + if usage != nil { + state.span.SetAttributes(usageSummary(usage)...) + } + } else if spanKind == "LLM" { + state.span.SetAttributes(attribute.String("openinference.span.kind", "LLM"), attribute.String("cyber.usage.scope", "logical_request")) + if usage != nil { + setUsage(state.span, usage) + } else { + state.span.SetAttributes(attribute.Bool("cyber.usage.missing", true)) + } + } + if b.capture { + state.span.SetAttributes(attribute.String("output.value", clip(textField(detail, "output")))) + } + b.endScope(key, stamp(event)) + return nil +} +func (b *aopBridge) review(event *aop.Event, ref *operationpb.Ref, detail protoreflect.Message) error { + if ref.OperationId == "" { + if value := messageField(detail, "operation"); value != nil { + if err := copyMessage(value, ref); err != nil { + return err + } + } + } + stateName := enumField(detail, "state") + attrs := []attribute.KeyValue{attribute.String("cyber.mechanism.kind", "guardrail"), attribute.String("cyber.guardrail.state", stateName), attribute.String("cyber.operation.id", ref.OperationId), attribute.String("cyber.guardrail.resolution_source", textField(detail, "resolution_source"))} + if decision := messageField(detail, "decision"); decision != nil { + attrs = append(attrs, attribute.String("cyber.guardrail.action", enumField(decision, "action"))) + if b.capture { + attrs = append(attrs, attribute.String("cyber.guardrail.reason", clip(textField(decision, "reason")))) + } + } + if ref.OperationId == "" { + b.fact(event, ref, attrs...) + return nil + } + key := scopeKey{event.SessionId, "guardrail", ref.OperationId} + if _, ended := b.endedScopes.get(key); ended { + return nil + } + if stateName == "REVIEW_STATE_PENDING" { + // Review precedes the tool's Started event; parent it to the caller's + // scope, rather than fabricating an unstarted tool execution. + b.startScope(event, key, "guardrail.review", "CHAIN", stamp(event), scopeKey{event.SessionId, "operation", ref.ParentOperationId}, false, attrs...) + return nil + } + state := b.scopes[key] + if state == nil { + b.fact(event, ref, attrs...) + return nil + } + state.span.SetAttributes(attrs...) + // A policy rejection is an outcome, not an exporter/runtime failure. + b.endScope(key, stamp(event)) + return nil +} diff --git a/exts/otel/options.go b/exts/otel/options.go new file mode 100644 index 000000000..1e75e99e6 --- /dev/null +++ b/exts/otel/options.go @@ -0,0 +1,68 @@ +package otel + +import ( + "fmt" + "net/url" + "strings" +) + +// OptionsFromEnv resolves OTLP/HTTP configuration using the specification's +// signal-specific precedence. Complete signal URLs retain their exact paths; +// only a global base URL receives /v1/{signal}. No endpoints means opt-out. +// Headers, certificates and SDK resource/sampling settings remain SDK-owned. +func OptionsFromEnv(lookup func(string) (string, bool)) (Options, error) { + value := func(key string) string { + text, _ := lookup(key) + return strings.TrimSpace(text) + } + o := Options{ + Endpoint: value("OTEL_EXPORTER_OTLP_ENDPOINT"), + TraceEndpoint: value("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"), + LogEndpoint: value("OTEL_EXPORTER_OTLP_LOGS_ENDPOINT"), + MetricEndpoint: value("OTEL_EXPORTER_OTLP_METRICS_ENDPOINT"), + ServiceName: value("OTEL_SERVICE_NAME"), + Project: value("CYBER_OTEL_PROJECT"), + CaptureContent: value("CYBER_OTEL_CAPTURE_CONTENT") == "true", + } + if o.Endpoint == "" && o.TraceEndpoint == "" && o.LogEndpoint == "" && o.MetricEndpoint == "" { + return o, nil + } + for _, signal := range []struct{ name, endpoint string }{{"TRACES", o.TraceEndpoint}, {"LOGS", o.LogEndpoint}, {"METRICS", o.MetricEndpoint}} { + if signal.endpoint == "" && o.Endpoint == "" { + continue + } + protocol := value("OTEL_EXPORTER_OTLP_" + signal.name + "_PROTOCOL") + if protocol == "" { + protocol = value("OTEL_EXPORTER_OTLP_PROTOCOL") + } + if protocol != "" && protocol != "http/protobuf" { + return Options{}, fmt.Errorf("OTel %s requires http/protobuf, got %q", strings.ToLower(signal.name), protocol) + } + } + return o, nil +} + +func (o *Options) resolveEndpoints() error { + for _, endpoint := range []string{o.Endpoint, o.TraceEndpoint, o.LogEndpoint, o.MetricEndpoint} { + if endpoint == "" { + continue + } + u, err := url.Parse(endpoint) + if err != nil || u == nil || u.Host == "" || (u.Scheme != "http" && u.Scheme != "https") || u.User != nil || u.RawQuery != "" || u.Fragment != "" { + return fmt.Errorf("OTel requires an OTLP/HTTP endpoint URL") + } + } + for _, signal := range []struct { + name string + endpoint *string + }{{"traces", &o.TraceEndpoint}, {"logs", &o.LogEndpoint}, {"metrics", &o.MetricEndpoint}} { + if *signal.endpoint == "" && o.Endpoint != "" { + // The base URL is already validated; signal URLs keep their paths. + *signal.endpoint, _ = url.JoinPath(o.Endpoint, "v1", signal.name) + } + } + if o.Exporter == nil && o.TraceEndpoint == "" && (o.DisableLogs || (o.LogExporter == nil && o.LogEndpoint == "")) && (o.DisableMetrics || (o.MetricExporter == nil && o.MetricEndpoint == "")) { + return fmt.Errorf("OTel requires at least one signal destination") + } + return nil +} diff --git a/exts/otel/providers.go b/exts/otel/providers.go new file mode 100644 index 000000000..13ca24586 --- /dev/null +++ b/exts/otel/providers.go @@ -0,0 +1,114 @@ +package otel + +import ( + "context" + "errors" + "fmt" + "sync" + "time" + + "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp" + sdklog "go.opentelemetry.io/otel/sdk/log" + sdkmetric "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/sdk/metric/metricdata" + "go.opentelemetry.io/otel/sdk/resource" +) + +const ( + instrumentationName = "github.com/chainreactors/cyber/exts/otel" + instrumentationVersion = "0.2.0" + // Pin one complete GenAI dialect; SDK versions evolve independently. + genAIVersion = "1.41.0" +) + +func (e *Extension) loadSignals(ctx context.Context, res *resource.Resource) error { + if !e.options.DisableLogs && (e.options.LogEndpoint != "" || e.options.LogExporter != nil) { + exporter := e.options.LogExporter + if exporter == nil { + var err error + exporter, err = otlploghttp.New(ctx, otlploghttp.WithEndpointURL(e.options.LogEndpoint), otlploghttp.WithTimeout(5*time.Second)) + if err != nil { + return err + } + } + e.logs = sdklog.NewLoggerProvider(sdklog.WithResource(res), sdklog.WithProcessor(sdklog.NewBatchProcessor(&checkedLogExporter{Exporter: exporter, failures: &e.failures}, sdklog.WithMaxQueueSize(2048), sdklog.WithExportMaxBatchSize(512), sdklog.WithExportInterval(100*time.Millisecond), sdklog.WithExportTimeout(5*time.Second)))) + } + if !e.options.DisableMetrics && (e.options.MetricEndpoint != "" || e.options.MetricExporter != nil) { + exporter := e.options.MetricExporter + if exporter == nil { + var err error + exporter, err = otlpmetrichttp.New(ctx, otlpmetrichttp.WithEndpointURL(e.options.MetricEndpoint), otlpmetrichttp.WithTimeout(5*time.Second)) + if err != nil { + return err + } + } + e.metrics = sdkmetric.NewMeterProvider(sdkmetric.WithResource(res), sdkmetric.WithReader(sdkmetric.NewPeriodicReader(&checkedMetricExporter{Exporter: exporter, failures: &e.failures}, sdkmetric.WithInterval(e.options.MetricInterval), sdkmetric.WithTimeout(5*time.Second)))) + } + var err error + e.signals, err = newSignals(e.logs, e.metrics) + return err +} + +func (e *Extension) shutdown(ctx context.Context) error { + var errs []error + if e.provider != nil { + errs = append(errs, e.provider.Shutdown(ctx)) + } + if e.logs != nil { + errs = append(errs, e.logs.Shutdown(ctx)) + } + if e.metrics != nil { + errs = append(errs, e.metrics.Shutdown(ctx)) + } + return errors.Join(errs...) +} +func (e *Extension) recordDrops() { + if e.sub == nil || e.signals == nil { + return + } + dropped := uint64(e.sub.Dropped()) + if dropped > e.reportedDrops { + e.signals.dropped(context.Background(), dropped-e.reportedDrops) + e.reportedDrops = dropped + } +} + +type exportErrors struct { + mu sync.Mutex + err error +} + +func (e *exportErrors) record(signal string, err error) { + if err == nil { + return + } + e.mu.Lock() + defer e.mu.Unlock() + if e.err == nil { + e.err = fmt.Errorf("export OTel %s: %w", signal, err) + } +} +func (e *exportErrors) Err() error { e.mu.Lock(); defer e.mu.Unlock(); return e.err } + +type checkedLogExporter struct { + sdklog.Exporter + failures *exportErrors +} + +func (e *checkedLogExporter) Export(ctx context.Context, records []sdklog.Record) error { + err := e.Exporter.Export(ctx, records) + e.failures.record("logs", err) + return err +} + +type checkedMetricExporter struct { + sdkmetric.Exporter + failures *exportErrors +} + +func (e *checkedMetricExporter) Export(ctx context.Context, data *metricdata.ResourceMetrics) error { + err := e.Exporter.Export(ctx, data) + e.failures.record("metrics", err) + return err +} diff --git a/exts/otel/signals.go b/exts/otel/signals.go new file mode 100644 index 000000000..e75fd127f --- /dev/null +++ b/exts/otel/signals.go @@ -0,0 +1,332 @@ +package otel + +import ( + "context" + "errors" + "sync" + "time" + + "github.com/chainreactors/cyber/aop" + operationpb "github.com/chainreactors/cyber/aop/operation" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/codes" + otellog "go.opentelemetry.io/otel/log" + "go.opentelemetry.io/otel/metric" + sdklog "go.opentelemetry.io/otel/sdk/log" + sdkmetric "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/trace" +) + +type signals struct { + logger otellog.Logger + events, drops, sessions, turns, scopes, requests, tokens, missing metric.Int64Counter + sessionsActive, turnsActive, scopesActive metric.Int64UpDownCounter + sessionDuration, turnDuration, scopeDuration, modelDuration metric.Float64Histogram + tokenUsage metric.Int64Histogram +} + +func newSignals(logs *sdklog.LoggerProvider, metrics *sdkmetric.MeterProvider) (*signals, error) { + s := new(signals) + if logs != nil { + s.logger = logs.Logger(instrumentationName, otellog.WithInstrumentationVersion(instrumentationVersion)) + } + if metrics == nil { + return s, nil + } + meter := metrics.Meter(instrumentationName, metric.WithInstrumentationVersion(instrumentationVersion)) + var errs []error + counter := func(name, unit, description string) metric.Int64Counter { + value, err := meter.Int64Counter(name, metric.WithUnit(unit), metric.WithDescription(description)) + errs = append(errs, err) + return value + } + active := func(name, description string) metric.Int64UpDownCounter { + value, err := meter.Int64UpDownCounter(name, metric.WithUnit("{scope}"), metric.WithDescription(description)) + errs = append(errs, err) + return value + } + duration := func(name, description string) metric.Float64Histogram { + value, err := meter.Float64Histogram(name, metric.WithUnit("s"), metric.WithDescription(description), metric.WithExplicitBucketBoundaries(.001, .005, .01, .05, .1, .5, 1, 5, 10, 30, 60, 300)) + errs = append(errs, err) + return value + } + s.events = counter("cyber.aop.events", "{event}", "Accepted AOP events, deduplicated within the correlation window") + s.drops = counter("cyber.otel.events.dropped", "{event}", "AOP subscription drops observed at Flush or Close") + s.sessions = counter("cyber.agent.sessions", "{session}", "Observed Agent session lifecycle transitions") + s.turns = counter("cyber.agent.turns", "{turn}", "Completed Agent turns, including incomplete turns") + s.scopes = counter("cyber.scope.completed", "{scope}", "Completed execution scopes by kind and outcome") + s.requests = counter("cyber.model.requests", "{request}", "Logical model calls, including retries; compiler summaries excluded") + s.tokens = counter("cyber.model.tokens", "{token}", "Reported input/output tokens, counted once per available accounting fact") + s.missing = counter("cyber.model.usage.missing", "{request}", "Model requests without complete reported usage") + s.sessionsActive = active("cyber.agent.sessions.active", "Sessions with observed start and no observed end") + s.turnsActive = active("cyber.agent.turns.active", "Agent turns currently observed as active") + s.scopesActive = active("cyber.scope.active", "Execution scopes currently observed as active") + s.sessionDuration = duration("cyber.agent.session.duration", "Observed Agent session lifetime") + s.turnDuration = duration("cyber.agent.turn.duration", "Observed Agent turn duration") + s.scopeDuration = duration("cyber.scope.duration", "Observed execution scope duration, including mechanisms") + var err error + s.modelDuration, err = meter.Float64Histogram("gen_ai.client.operation.duration", metric.WithUnit("s"), metric.WithDescription("Logical model call duration, including automatic retries"), metric.WithExplicitBucketBoundaries(.01, .02, .04, .08, .16, .32, .64, 1.28, 2.56, 5.12, 10.24, 20.48, 40.96, 81.92)) + errs = append(errs, err) + s.tokenUsage, err = meter.Int64Histogram("gen_ai.client.token.usage", metric.WithUnit("{token}"), metric.WithDescription("Reported input/output token usage; summaries excluded"), metric.WithExplicitBucketBoundaries(1, 4, 16, 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 16777216, 67108864)) + errs = append(errs, err) + return s, errors.Join(errs...) +} + +func logAttribute(attr attribute.KeyValue) otellog.KeyValue { + key := string(attr.Key) + switch attr.Value.Type() { + case attribute.BOOL: + return otellog.Bool(key, attr.Value.AsBool()) + case attribute.INT64: + return otellog.Int64(key, attr.Value.AsInt64()) + case attribute.FLOAT64: + return otellog.Float64(key, attr.Value.AsFloat64()) + case attribute.STRINGSLICE: + var values []otellog.Value + for _, value := range attr.Value.AsStringSlice() { + values = append(values, otellog.StringValue(value)) + } + return otellog.Slice(key, values...) + default: + return otellog.String(key, attr.Value.AsString()) + } +} +func (s *signals) emit(ctx context.Context, name string, at time.Time, severity otellog.Severity, attrs ...attribute.KeyValue) { + if s == nil || s.logger == nil { + return + } + var record otellog.Record + record.SetTimestamp(at) + record.SetObservedTimestamp(time.Now()) + record.SetEventName(name) + record.SetBody(otellog.StringValue(name)) + record.SetSeverity(severity) + switch severity { + case otellog.SeverityError: + record.SetSeverityText("ERROR") + case otellog.SeverityWarn: + record.SetSeverityText("WARN") + default: + record.SetSeverityText("INFO") + } + record.AddAttributes(otellog.String("cyber.event.name", name), otellog.String("cyber.log.id", aop.EnvelopeID())) + for _, attr := range attrs { + record.AddAttributes(logAttribute(attr)) + } + s.logger.Emit(ctx, record) +} +func (s *signals) dropped(ctx context.Context, count uint64) { + if s == nil { + return + } + if s.drops != nil { + s.drops.Add(ctx, int64(count)) + } + s.emit(ctx, "otel.events.dropped", time.Now(), otellog.SeverityWarn, attribute.Int64("cyber.otel.events.dropped", int64(count))) +} + +// This decorator runs at the AOP projection boundary, before trace sampling or +// export. Its local attributes make metrics/logs independent of IsRecording; +// no Agent hooks, globals or exported-span reprocessing are involved. +type signalTracer struct { + trace.Tracer + signals *signals +} + +func (t signalTracer) Start(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { + ctx, inner := t.Tracer.Start(ctx, name, opts...) + s := t.signals + if s == nil || (s.logger == nil && s.scopes == nil) { + return ctx, inner + } + config := trace.NewSpanStartConfig(opts...) + at := config.Timestamp() + if at.IsZero() { + at = time.Now() + } + span := &signalSpan{Span: inner, signals: s, ctx: ctx, name: name, start: at, attrs: make(map[attribute.Key]attribute.Value)} + for _, attr := range config.Attributes() { + span.attrs[attr.Key] = attr.Value + } + span.kind = scopeKind(span.attrs) + labels := []attribute.KeyValue{attribute.String("cyber.scope.kind", span.kind)} + if s.scopesActive != nil { + s.scopesActive.Add(ctx, 1, metric.WithAttributes(labels...)) + } + if span.kind == "turn" && s.turnsActive != nil { + s.turnsActive.Add(ctx, 1) + } + s.emit(ctx, span.lifecycleName("started"), at, otellog.SeverityInfo, span.logAttributes()...) + return trace.ContextWithSpan(ctx, span), span +} + +type signalSpan struct { + trace.Span + signals *signals + mu sync.Mutex + ctx context.Context + name, kind string + start time.Time + attrs map[attribute.Key]attribute.Value + status codes.Code + ended bool +} + +func (s *signalSpan) SetAttributes(attrs ...attribute.KeyValue) { + s.mu.Lock() + defer s.mu.Unlock() + if s.ended { + return + } + for _, attr := range attrs { + s.attrs[attr.Key] = attr.Value + } + s.Span.SetAttributes(attrs...) +} +func (s *signalSpan) SetStatus(code codes.Code, description string) { + s.mu.Lock() + defer s.mu.Unlock() + if s.ended { + return + } + s.status = code + s.Span.SetStatus(code, description) +} +func (s *signalSpan) SetName(name string) { + s.mu.Lock() + defer s.mu.Unlock() + if !s.ended { + s.name = name + s.Span.SetName(name) + } +} +func scopeKind(attrs map[attribute.Key]attribute.Value) string { + if attrs["gen_ai.operation.name"].AsString() == "invoke_agent" { + return "turn" + } + if attrs["openinference.span.kind"].AsString() == "LLM" { + return "llm" + } + if kind := attrs["cyber.operation.kind"].AsString(); kind != "" { + switch kind { + case "tool", "command", "process": + return kind + default: + return "operation" + } + } + if kind := attrs["cyber.mechanism.kind"].AsString(); kind != "" { + switch kind { + case "compact", "eval", "guardrail", "jev": + return kind + } + } + return "fact" +} +func (s *signalSpan) lifecycleName(phase string) string { + if s.kind == "turn" { + return "agent.turn." + phase + } + if s.kind == "llm" { + return "model.request." + phase + } + if s.kind == "tool" || s.kind == "command" || s.kind == "process" || s.kind == "operation" { + return "operation." + phase + } + return "scope." + phase +} +func (s *signalSpan) logAttributes() []attribute.KeyValue { + attrs := []attribute.KeyValue{attribute.String("cyber.scope.name", s.name), attribute.String("cyber.scope.kind", s.kind), attribute.String("cyber.lifecycle.source", "aop_projection")} + for key, value := range s.attrs { + attrs = append(attrs, attribute.KeyValue{Key: key, Value: value}) + } + return attrs +} +func (s *signalSpan) End(opts ...trace.SpanEndOption) { + s.mu.Lock() + defer s.mu.Unlock() + if s.ended { + return + } + s.ended = true + config := trace.NewSpanEndConfig(opts...) + at := config.Timestamp() + if at.IsZero() { + at = time.Now() + } + duration := max(0, at.Sub(s.start).Seconds()) + outcome := "success" + if s.attrs["cyber.incomplete"].AsBool() { + outcome = "incomplete" + } else if s.attrs["cyber.stop_reason"].AsString() == "canceled" || s.attrs["cyber.failure.kind"].AsString() == operationpb.FailureKind_FAILURE_KIND_CANCELED.String() { + outcome = "canceled" + } else if s.status == codes.Error { + outcome = "error" + } else if state := s.attrs["cyber.guardrail.state"].AsString(); state != "" { + switch state { + case "REVIEW_STATE_REJECTED": + outcome = "rejected" + case "REVIEW_STATE_EXPIRED": + outcome = "expired" + case "REVIEW_STATE_CANCELED": + outcome = "canceled" + } + } + labels := []attribute.KeyValue{attribute.String("cyber.scope.kind", s.kind), attribute.String("cyber.outcome", outcome)} + metrics := s.signals + if metrics.scopes != nil { + metrics.scopes.Add(s.ctx, 1, metric.WithAttributes(labels...)) + metrics.scopeDuration.Record(s.ctx, duration, metric.WithAttributes(labels...)) + metrics.scopesActive.Add(s.ctx, -1, metric.WithAttributes(attribute.String("cyber.scope.kind", s.kind))) + if s.kind == "turn" { + metrics.turns.Add(s.ctx, 1, metric.WithAttributes(attribute.String("cyber.outcome", outcome))) + metrics.turnDuration.Record(s.ctx, duration, metric.WithAttributes(attribute.String("cyber.outcome", outcome))) + metrics.turnsActive.Add(s.ctx, -1) + } + model := s.attrs["gen_ai.request.model"].AsString() + if model == "" { + model = s.attrs["llm.model_name"].AsString() + } + modelLabels := []attribute.KeyValue{attribute.String("gen_ai.operation.name", s.attrs["gen_ai.operation.name"].AsString()), attribute.String("gen_ai.provider.name", s.attrs["gen_ai.provider.name"].AsString())} + if model != "" { + modelLabels = append(modelLabels, attribute.String("gen_ai.request.model", model)) + } + if s.attrs["openinference.span.kind"].AsString() == "LLM" { + metrics.requests.Add(s.ctx, 1, metric.WithAttributes(append(modelLabels, attribute.String("cyber.outcome", outcome))...)) + durationLabels := append([]attribute.KeyValue(nil), modelLabels...) + if value := s.attrs["error.type"].AsString(); value != "" { + durationLabels = append(durationLabels, attribute.String("error.type", value)) + } + metrics.modelDuration.Record(s.ctx, duration, metric.WithAttributes(durationLabels...)) + if s.attrs["cyber.usage.missing"].AsBool() { + metrics.missing.Add(s.ctx, 1, metric.WithAttributes(modelLabels...)) + } + } + if _, known := s.attrs["llm.token_count.total"]; known { + accounting := s.attrs["cyber.usage.scope"].AsString() + if accounting == "" { + accounting = "request" + } + for _, token := range []struct{ kind, key string }{{"input", "llm.token_count.prompt"}, {"output", "llm.token_count.completion"}} { + attrs := append(append([]attribute.KeyValue(nil), modelLabels...), attribute.String("gen_ai.token.type", token.kind), attribute.String("cyber.usage.scope", accounting)) + count := s.attrs[attribute.Key(token.key)].AsInt64() + metrics.tokens.Add(s.ctx, count, metric.WithAttributes(attrs...)) + if s.kind == "llm" { + metrics.tokenUsage.Record(s.ctx, count, metric.WithAttributes(append(append([]attribute.KeyValue(nil), modelLabels...), attribute.String("gen_ai.token.type", token.kind))...)) + } + } + metrics.tokens.Add(s.ctx, s.attrs["llm.token_count.total"].AsInt64(), metric.WithAttributes(append(append([]attribute.KeyValue(nil), modelLabels...), attribute.String("gen_ai.token.type", "total"), attribute.String("cyber.usage.scope", accounting))...)) + } + } + attrs := append(s.logAttributes(), attribute.String("cyber.outcome", outcome), attribute.Float64("cyber.duration.seconds", duration)) + severity := otellog.SeverityInfo + if outcome == "error" || outcome == "incomplete" { + severity = otellog.SeverityError + } + phase := "completed" + if outcome == "incomplete" { + phase = "incomplete" + } + metrics.emit(s.ctx, s.lifecycleName(phase), at, severity, attrs...) + s.Span.End(opts...) +} diff --git a/go.mod b/go.mod index 58ad60656..6bf1fe9a7 100644 --- a/go.mod +++ b/go.mod @@ -53,6 +53,16 @@ require ( github.com/uptrace/bun v1.2.18 github.com/uptrace/bun/dialect/sqlitedialect v1.2.18 github.com/ysmood/gson v0.7.3 + go.opentelemetry.io/otel v1.44.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.20.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 + go.opentelemetry.io/otel/log v0.20.0 + go.opentelemetry.io/otel/metric v1.44.0 + go.opentelemetry.io/otel/sdk v1.44.0 + go.opentelemetry.io/otel/sdk/log v0.20.0 + go.opentelemetry.io/otel/sdk/metric v1.44.0 + go.opentelemetry.io/otel/trace v1.44.0 golang.org/x/image v0.46.0 golang.org/x/sys v0.48.0 golang.org/x/term v0.45.0 @@ -81,15 +91,20 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.13 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.41.6 // indirect github.com/aws/smithy-go v1.25.1 // indirect + github.com/cenkalti/backoff/v5 v5.0.3 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charmbracelet/x/exp/slice v0.0.0-20250327172914-2fdc97757edf // indirect github.com/cloudflare/ahocorasick v0.0.0-20240916140611-054963ec9396 // indirect github.com/dlclark/regexp2/v2 v2.5.2 // indirect github.com/ebitengine/purego v0.10.0 // indirect github.com/flier/gohs v1.2.2 // indirect + github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect github.com/google/go-github/v57 v57.0.0 // indirect github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect github.com/jackc/pgx/v5 v5.7.2 // indirect @@ -105,6 +120,12 @@ require ( github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect + go.opentelemetry.io/proto/otlp v1.10.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20261005182115-fad411399dd8 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20261005182115-fad411399dd8 // indirect + google.golang.org/grpc v1.83.1 // indirect ) require ( diff --git a/go.sum b/go.sum index 35051eed3..628451e33 100644 --- a/go.sum +++ b/go.sum @@ -196,6 +196,8 @@ github.com/carapace-sh/carapace v1.16.2 h1:e6ZZFEn9pnP2STHfEmBqhLTXcNpNX2aoBD9S9 github.com/carapace-sh/carapace v1.16.2/go.mod h1:5MUSHyLN9GGb5/NY/j9VI68/TcZV4ApRCAHGg4WeU0s= github.com/carapace-sh/carapace-shlex v1.1.1 h1:ccmNeetAYZOk4IcV36youFDsXusT9uCNW2Njkw+QS+Q= github.com/carapace-sh/carapace-shlex v1.1.1/go.mod h1:lJ4ZsdxytE0wHJ8Ta9S7Qq0XpjgjU0mdfCqiI2FHx7M= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/censys/censys-sdk-go v0.19.1 h1:CG8rQKgwrKuoICd3oU0uddALMfJnboeMkDg/e74HYyc= @@ -203,6 +205,8 @@ github.com/censys/censys-sdk-go v0.19.1/go.mod h1:DgPz5NgL+EfoueXLPG9UG1e7hS0Oht github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chainreactors/crtm v0.0.3-0.20260924103954-9432523918ae h1:TvuorWYxwrQxpCrO3BGycurUCok/AD7VqWGL/j0lEGo= github.com/chainreactors/crtm v0.0.3-0.20260924103954-9432523918ae/go.mod h1:+T3JvsT0teBxi4+ValZTYWCDIwM8inbx57+nQfMFkbA= github.com/chainreactors/files v0.0.0-20240716182835-7884ee1e77f0 h1:cU3sGEODXZsUZGBXfnz0nyxF6+37vA+ZGDx6L/FKN4o= @@ -416,6 +420,11 @@ github.com/go-ldap/ldap/v3 v3.4.13 h1:+x1nG9h+MZN7h/lUi5Q3UZ0fJ1GyDQYbPvbuH38baD github.com/go-ldap/ldap/v3 v3.4.13/go.mod h1:LxsGZV6vbaK0sIvYfsv47rfh4ca0JXokCoKjZxsszv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-quicktest/qt v1.102.0 h1:HSQxCeh5YZH3EL3W39ixjtyaEhcWSXQHtHnMBzSs474= @@ -484,6 +493,8 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= @@ -564,6 +575,8 @@ github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gosnmp/gosnmp v1.43.2 h1:F9loz6uMCNtIQj0RNO5wz/mZ+FZt2WyNKJYOvw+Zosw= github.com/gosnmp/gosnmp v1.43.2/go.mod h1:smHIwoaqr1M+HTAEd7+mKkPs8lp3Lf/U+htPUql1Q3c= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/happyhackingspace/dit v0.0.25 h1:NZ0fEHcVXNZv+aHwbHs+ENxyv100vMH9c+DQVl8+azw= @@ -1100,12 +1113,42 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.20.0 h1:owlhcJ3QO3X0YTDTCcDZ4V+6aVDkWbNmBoQ5NUp7Oww= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.20.0/go.mod h1:MP4eemTiI9zC8fgg+DYynhYDYf3ba72S376TvP+Ye0Q= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0 h1:RuynHbfU8JUEw7DyONgkVYg2SVtsoF28y0LGIr69jgA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0/go.mod h1:qZF+/lBs71APw8mlnEZcqZHMzqrYrsFiJOv83lX1OGo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 h1:lgh3PiVrRUWMLOVSkQicxzZll5NjF1r+AtsX1XRIHw0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0/go.mod h1:5Cnhth3m/AgOeTgE3ex12pPmiu/gGtZit03kSzx9X7s= +go.opentelemetry.io/otel/log v0.20.0 h1:/5i0vuHxCLWUfChWG41K9wkM0jafruPw9NU1/RCJirs= +go.opentelemetry.io/otel/log v0.20.0/go.mod h1:wOcMcjsZpG8x7Bak7IhSi/lg8wscV2C1VdrKCLPlt0E= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/metric/x v0.66.0 h1:YkCrx1zLOChi9ZcZ6euupOcsgzbVlec7D/xoEU1+cTA= +go.opentelemetry.io/otel/metric/x v0.66.0/go.mod h1:d1+BDj9t96do0/1LoU1ayfCv79ZgNE41qbhBvnMOBZk= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= +go.opentelemetry.io/otel/sdk/log v0.20.0 h1:vM3xI7TQgKPiSghe6urZtAkyFY7SodrSpC83CffDFuY= +go.opentelemetry.io/otel/sdk/log v0.20.0/go.mod h1:Knej2nmsTUzN79T2eeXdRsjjPcoxoq2pUyUHz9TFyyU= +go.opentelemetry.io/otel/sdk/log/logtest v0.20.0 h1:OqdRZ1guyzamK3M6LlRsmGqRrjkHWw6WZOKKli5ELpg= +go.opentelemetry.io/otel/sdk/log/logtest v0.20.0/go.mod h1:PuMIlm7zAt7c3z8zfOI5ox4iT1Z87We+PF6YoINux/M= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= +go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= @@ -1475,6 +1518,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1577,6 +1622,10 @@ google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto/googleapis/api v0.0.0-20261005182115-fad411399dd8 h1:cFbkNigDInw+wVTXc+CyhUsoHGJCw0BR6mlNoRVfre0= +google.golang.org/genproto/googleapis/api v0.0.0-20261005182115-fad411399dd8/go.mod h1:QK6p7IgD7IZEZJBhhSUCib5X2vMOzlrGCGUw2XyVDh0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20261005182115-fad411399dd8 h1:0SXBqli5dnuCKMjI/X3FM226zEaEa0GUcSCJtN1vL2o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20261005182115-fad411399dd8/go.mod h1:OaIUM3+LpYcK2GXM4FTmhWoIq371Owdr+Cc7/BsYHHc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1604,6 +1653,8 @@ google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.83.1 h1:HIO0+BEtBP6soyqvqC8sNUjZ7bTs+0hFQuFF+RAy++Y= +google.golang.org/grpc v1.83.1/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/pkg/rpc/agent.connect.go b/pkg/rpc/agent.connect.go index 9fb86d6dd..b312b9681 100644 --- a/pkg/rpc/agent.connect.go +++ b/pkg/rpc/agent.connect.go @@ -48,7 +48,7 @@ type AgentServiceClient interface { // connect.WithGRPC() or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewAgentServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) AgentServiceClient { baseURL = strings.TrimRight(baseURL, "/") agentServiceMethods := File_rpc_agent_proto.Services().ByName("AgentService").Methods() diff --git a/pkg/rpc/aop.connect.go b/pkg/rpc/aop.connect.go index 8319b4efe..1ab8aa056 100644 --- a/pkg/rpc/aop.connect.go +++ b/pkg/rpc/aop.connect.go @@ -48,7 +48,7 @@ type AOPServiceClient interface { // connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewAOPServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) AOPServiceClient { baseURL = strings.TrimRight(baseURL, "/") aOPServiceMethods := File_rpc_aop_proto.Services().ByName("AOPService").Methods() diff --git a/pkg/rpc/artifact.connect.go b/pkg/rpc/artifact.connect.go index 39a166323..de5e10ec5 100644 --- a/pkg/rpc/artifact.connect.go +++ b/pkg/rpc/artifact.connect.go @@ -49,7 +49,7 @@ type ArtifactServiceClient interface { // connect.WithGRPC() or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewArtifactServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ArtifactServiceClient { baseURL = strings.TrimRight(baseURL, "/") artifactServiceMethods := File_rpc_artifact_proto.Services().ByName("ArtifactService").Methods() diff --git a/pkg/rpc/chat.connect.go b/pkg/rpc/chat.connect.go index 5753d881e..ed8221be0 100644 --- a/pkg/rpc/chat.connect.go +++ b/pkg/rpc/chat.connect.go @@ -74,7 +74,7 @@ type SessionServiceClient interface { // connect.WithGRPC() or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewSessionServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) SessionServiceClient { baseURL = strings.TrimRight(baseURL, "/") sessionServiceMethods := File_rpc_chat_proto.Services().ByName("SessionService").Methods() diff --git a/pkg/rpc/config.connect.go b/pkg/rpc/config.connect.go index b01338d22..d0fdddecd 100644 --- a/pkg/rpc/config.connect.go +++ b/pkg/rpc/config.connect.go @@ -67,7 +67,7 @@ type ConfigServiceClient interface { // connect.WithGRPC() or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewConfigServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ConfigServiceClient { baseURL = strings.TrimRight(baseURL, "/") configServiceMethods := File_rpc_config_proto.Services().ByName("ConfigService").Methods() diff --git a/pkg/rpc/scan.connect.go b/pkg/rpc/scan.connect.go index efeb280a7..db9827e30 100644 --- a/pkg/rpc/scan.connect.go +++ b/pkg/rpc/scan.connect.go @@ -57,7 +57,7 @@ type ScanServiceClient interface { // or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewScanServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ScanServiceClient { baseURL = strings.TrimRight(baseURL, "/") scanServiceMethods := File_rpc_scan_proto.Services().ByName("ScanService").Methods() diff --git a/pkg/rpc/system.connect.go b/pkg/rpc/system.connect.go index 14057fe0b..29e628afa 100644 --- a/pkg/rpc/system.connect.go +++ b/pkg/rpc/system.connect.go @@ -48,7 +48,7 @@ type SystemServiceClient interface { // connect.WithGRPC() or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.example or https://acme.example/grpc). +// http://api.acme.com or https://acme.com/grpc). func NewSystemServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) SystemServiceClient { baseURL = strings.TrimRight(baseURL, "/") systemServiceMethods := File_rpc_system_proto.Services().ByName("SystemService").Methods() diff --git a/tools/terminal/bash.go b/tools/terminal/bash.go index 7db4bee03..8fc111c39 100644 --- a/tools/terminal/bash.go +++ b/tools/terminal/bash.go @@ -472,6 +472,12 @@ func (t *BashTool) background(execution *coretool.Execution, targetInbox inbox.I } func (t *BashTool) collectResult(execution *coretool.Execution) *coretool.Result { + // A completed native session still has completion hooks and process control + // to drain. Returning earlier cancels the tool's scope while observers are + // recording the successful process, spuriously turning it into cancellation. + if info, ok := t.tasks.Get(execution.ID); ok && info.State != proc.StateRunning { + _ = execution.WaitProcessCompletion(context.Background()) + } fullCapture := execution != nil && execution.Command == "tmux" && len(execution.Args) >= 2 && (execution.Args[0] == "capture-pane" || execution.Args[0] == "peek") && contains(execution.Args[1:], "--full") data, total, _ := t.tasks.SnapshotBytes(execution.ID, 0) diff --git a/tools/terminal/process.go b/tools/terminal/process.go index 8fa0e30b8..28a6916df 100644 --- a/tools/terminal/process.go +++ b/tools/terminal/process.go @@ -3,6 +3,7 @@ package terminal import ( "context" "errors" + "fmt" "strings" "time" @@ -142,6 +143,13 @@ func (t *BashTool) observeProcessCompletion(ctx context.Context, execution *core completionErr = errors.Join(completionErr, cause) } session := executionSession(execution) + if completionErr == nil && session != nil { + if session.Reason != "" { + completionErr = errors.New(session.Reason) + } else if code := session.ExitStatus(); code != 0 { + completionErr = fmt.Errorf("process exited with code %d", code) + } + } if toolhooks.ProcessCompleted.Has(t.hooks) { corehooks.Notify(context.WithoutCancel(ctx), t.hooks, toolhooks.ProcessCompleted, toolhooks.ProcessCompletion{ Lifecycle: toolhooks.Lifecycle{Operation: event.Operation, StartedAt: startedAt, EndedAt: time.Now(), Err: completionErr}, diff --git a/web/frontend/e2e/fixtures/jev-history/live-events.json b/web/frontend/e2e/fixtures/jev-history/live-events.json index 5d5731f30..63dcb900a 100644 --- a/web/frontend/e2e/fixtures/jev-history/live-events.json +++ b/web/frontend/e2e/fixtures/jev-history/live-events.json @@ -34,11 +34,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0441", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 1\",\"e41e913501b8667ec\":\"Synthetic fixture value 2\",\"0894c800598969656\":\"Synthetic fixture value 3\",\"defer\":\"Synthetic fixture value 4\",\"new\":\"Synthetic fixture value 5\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 1\",\"e41e913501b8667ec\":\"Synthetic fixture value 2\",\"0894c800598969656\":\"Synthetic fixture value 3\",\"defer\":\"Synthetic fixture value 4\",\"new\":\"Synthetic fixture value 5\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] } } } @@ -61,9 +67,8 @@ "decisionResult": { "requestId": "synthetic-identity-0441", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "0894c800598969656", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -126,26 +131,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0445", "purpose": "jev_reflex", - "questions": { + "claims": { "60ef6ba0a24d6d54a": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 6\",\"include\":\"Synthetic fixture value 7\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 6\",\"include\":\"Synthetic fixture value 7\"}}", + "options": [ + "defer", + "include" + ] }, "e41e913501b8667ec": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 8\",\"include\":\"Synthetic fixture value 9\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 8\",\"include\":\"Synthetic fixture value 9\"}}", + "options": [ + "defer", + "include" + ] }, "0894c800598969656": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 10\",\"include\":\"Synthetic fixture value 11\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 10\",\"include\":\"Synthetic fixture value 11\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 12\",\"defer\":\"Synthetic fixture value 13\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 12\",\"defer\":\"Synthetic fixture value 13\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -169,9 +186,8 @@ "decisionResult": { "requestId": "synthetic-identity-0445", "purpose": "jev_reflex", - "answers": { + "evaluations": { "60ef6ba0a24d6d54a": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -180,7 +196,6 @@ "confidence": 1 }, "e41e913501b8667ec": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -189,7 +204,6 @@ "confidence": 1 }, "0894c800598969656": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -198,7 +212,6 @@ "confidence": 0.99 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -276,16 +289,28 @@ "decisionRequest": { "requestId": "synthetic-identity-0451", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 14\",\"e41e913501b8667ec\":\"Synthetic fixture value 15\",\"0894c800598969656\":\"Synthetic fixture value 16\",\"defer\":\"Synthetic fixture value 17\",\"new\":\"Synthetic fixture value 18\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 14\",\"e41e913501b8667ec\":\"Synthetic fixture value 15\",\"0894c800598969656\":\"Synthetic fixture value 16\",\"defer\":\"Synthetic fixture value 17\",\"new\":\"Synthetic fixture value 18\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 19\",\"e41e913501b8667ec\":\"Synthetic fixture value 20\",\"0894c800598969656\":\"Synthetic fixture value 21\",\"defer\":\"Synthetic fixture value 22\",\"new\":\"Synthetic fixture value 23\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 19\",\"e41e913501b8667ec\":\"Synthetic fixture value 20\",\"0894c800598969656\":\"Synthetic fixture value 21\",\"defer\":\"Synthetic fixture value 22\",\"new\":\"Synthetic fixture value 23\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] } } } @@ -327,9 +352,8 @@ "decisionResult": { "requestId": "synthetic-identity-0451", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "0894c800598969656", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -341,7 +365,6 @@ "confidence": 0.2 }, "claim1": { - "type": "choice", "choice": "0894c800598969656", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -404,26 +427,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0456", "purpose": "jev_reflex", - "questions": { + "claims": { "60ef6ba0a24d6d54a": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 24\",\"include\":\"Synthetic fixture value 25\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 24\",\"include\":\"Synthetic fixture value 25\"}}", + "options": [ + "defer", + "include" + ] }, "e41e913501b8667ec": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 26\",\"include\":\"Synthetic fixture value 27\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 26\",\"include\":\"Synthetic fixture value 27\"}}", + "options": [ + "defer", + "include" + ] }, "0894c800598969656": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 28\",\"include\":\"Synthetic fixture value 29\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 28\",\"include\":\"Synthetic fixture value 29\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 30\",\"defer\":\"Synthetic fixture value 31\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 30\",\"defer\":\"Synthetic fixture value 31\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -466,9 +501,8 @@ "decisionResult": { "requestId": "synthetic-identity-0456", "purpose": "jev_reflex", - "answers": { + "evaluations": { "60ef6ba0a24d6d54a": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -477,7 +511,6 @@ "confidence": 1 }, "e41e913501b8667ec": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -486,7 +519,6 @@ "confidence": 1 }, "0894c800598969656": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -495,7 +527,6 @@ "confidence": 0.98 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -573,16 +604,28 @@ "decisionRequest": { "requestId": "synthetic-identity-0463", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 32\",\"e41e913501b8667ec\":\"Synthetic fixture value 33\",\"0894c800598969656\":\"Synthetic fixture value 34\",\"defer\":\"Synthetic fixture value 35\",\"new\":\"Synthetic fixture value 36\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 32\",\"e41e913501b8667ec\":\"Synthetic fixture value 33\",\"0894c800598969656\":\"Synthetic fixture value 34\",\"defer\":\"Synthetic fixture value 35\",\"new\":\"Synthetic fixture value 36\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 37\",\"e41e913501b8667ec\":\"Synthetic fixture value 38\",\"0894c800598969656\":\"Synthetic fixture value 39\",\"defer\":\"Synthetic fixture value 40\",\"new\":\"Synthetic fixture value 41\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 37\",\"e41e913501b8667ec\":\"Synthetic fixture value 38\",\"0894c800598969656\":\"Synthetic fixture value 39\",\"defer\":\"Synthetic fixture value 40\",\"new\":\"Synthetic fixture value 41\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] } } } @@ -605,9 +648,8 @@ "decisionResult": { "requestId": "synthetic-identity-0463", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "60ef6ba0a24d6d54a", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -619,7 +661,6 @@ "confidence": 0.54 }, "claim1": { - "type": "choice", "choice": "60ef6ba0a24d6d54a", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -682,26 +723,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0467", "purpose": "jev_reflex", - "questions": { + "claims": { "60ef6ba0a24d6d54a": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 42\",\"include\":\"Synthetic fixture value 43\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 42\",\"include\":\"Synthetic fixture value 43\"}}", + "options": [ + "defer", + "include" + ] }, "e41e913501b8667ec": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 44\",\"include\":\"Synthetic fixture value 45\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 44\",\"include\":\"Synthetic fixture value 45\"}}", + "options": [ + "defer", + "include" + ] }, "0894c800598969656": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 46\",\"include\":\"Synthetic fixture value 47\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 46\",\"include\":\"Synthetic fixture value 47\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 48\",\"defer\":\"Synthetic fixture value 49\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 48\",\"defer\":\"Synthetic fixture value 49\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -725,9 +778,8 @@ "decisionResult": { "requestId": "synthetic-identity-0467", "purpose": "jev_reflex", - "answers": { + "evaluations": { "60ef6ba0a24d6d54a": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -736,7 +788,6 @@ "confidence": 0.98 }, "e41e913501b8667ec": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -745,7 +796,6 @@ "confidence": 0.99 }, "0894c800598969656": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -754,7 +804,6 @@ "confidence": 0.99 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -832,16 +881,28 @@ "decisionRequest": { "requestId": "synthetic-identity-0472", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 50\",\"e41e913501b8667ec\":\"Synthetic fixture value 51\",\"0894c800598969656\":\"Synthetic fixture value 52\",\"defer\":\"Synthetic fixture value 53\",\"new\":\"Synthetic fixture value 54\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 50\",\"e41e913501b8667ec\":\"Synthetic fixture value 51\",\"0894c800598969656\":\"Synthetic fixture value 52\",\"defer\":\"Synthetic fixture value 53\",\"new\":\"Synthetic fixture value 54\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 55\",\"e41e913501b8667ec\":\"Synthetic fixture value 56\",\"0894c800598969656\":\"Synthetic fixture value 57\",\"defer\":\"Synthetic fixture value 58\",\"new\":\"Synthetic fixture value 59\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 55\",\"e41e913501b8667ec\":\"Synthetic fixture value 56\",\"0894c800598969656\":\"Synthetic fixture value 57\",\"defer\":\"Synthetic fixture value 58\",\"new\":\"Synthetic fixture value 59\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] } } } @@ -883,9 +944,8 @@ "decisionResult": { "requestId": "synthetic-identity-0472", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "60ef6ba0a24d6d54a", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -897,7 +957,6 @@ "confidence": 0.82 }, "claim1": { - "type": "choice", "choice": "60ef6ba0a24d6d54a", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -960,26 +1019,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0478", "purpose": "jev_reflex", - "questions": { + "claims": { "60ef6ba0a24d6d54a": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 60\",\"include\":\"Synthetic fixture value 61\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 60\",\"include\":\"Synthetic fixture value 61\"}}", + "options": [ + "defer", + "include" + ] }, "e41e913501b8667ec": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 62\",\"include\":\"Synthetic fixture value 63\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 62\",\"include\":\"Synthetic fixture value 63\"}}", + "options": [ + "defer", + "include" + ] }, "0894c800598969656": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 64\",\"include\":\"Synthetic fixture value 65\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 64\",\"include\":\"Synthetic fixture value 65\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 66\",\"defer\":\"Synthetic fixture value 67\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 66\",\"defer\":\"Synthetic fixture value 67\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -1003,9 +1074,8 @@ "decisionResult": { "requestId": "synthetic-identity-0478", "purpose": "jev_reflex", - "answers": { + "evaluations": { "60ef6ba0a24d6d54a": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -1014,7 +1084,6 @@ "confidence": 0.99 }, "e41e913501b8667ec": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -1023,7 +1092,6 @@ "confidence": 0.99 }, "0894c800598969656": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -1032,7 +1100,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -1110,11 +1177,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0483", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 68\",\"e41e913501b8667ec\":\"Synthetic fixture value 69\",\"0894c800598969656\":\"Synthetic fixture value 70\",\"defer\":\"Synthetic fixture value 71\",\"new\":\"Synthetic fixture value 72\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 68\",\"e41e913501b8667ec\":\"Synthetic fixture value 69\",\"0894c800598969656\":\"Synthetic fixture value 70\",\"defer\":\"Synthetic fixture value 71\",\"new\":\"Synthetic fixture value 72\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] } } } @@ -1156,9 +1229,8 @@ "decisionResult": { "requestId": "synthetic-identity-0483", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "60ef6ba0a24d6d54a", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -1221,26 +1293,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0489", "purpose": "jev_reflex", - "questions": { + "claims": { "60ef6ba0a24d6d54a": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 73\",\"include\":\"Synthetic fixture value 74\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 73\",\"include\":\"Synthetic fixture value 74\"}}", + "options": [ + "defer", + "include" + ] }, "e41e913501b8667ec": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 75\",\"include\":\"Synthetic fixture value 76\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 75\",\"include\":\"Synthetic fixture value 76\"}}", + "options": [ + "defer", + "include" + ] }, "0894c800598969656": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 77\",\"include\":\"Synthetic fixture value 78\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 77\",\"include\":\"Synthetic fixture value 78\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 79\",\"defer\":\"Synthetic fixture value 80\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 79\",\"defer\":\"Synthetic fixture value 80\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -1264,9 +1348,8 @@ "decisionResult": { "requestId": "synthetic-identity-0489", "purpose": "jev_reflex", - "answers": { + "evaluations": { "60ef6ba0a24d6d54a": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -1275,7 +1358,6 @@ "confidence": 0.99 }, "e41e913501b8667ec": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -1284,7 +1366,6 @@ "confidence": 1 }, "0894c800598969656": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -1293,7 +1374,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "synthetic-identity-0177", "probabilities": { "synthetic-identity-0177": 0.5, @@ -1977,11 +2057,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0524", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 85\",\"e41e913501b8667ec\":\"Synthetic fixture value 86\",\"0894c800598969656\":\"Synthetic fixture value 87\",\"defer\":\"Synthetic fixture value 88\",\"new\":\"Synthetic fixture value 89\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 85\",\"e41e913501b8667ec\":\"Synthetic fixture value 86\",\"0894c800598969656\":\"Synthetic fixture value 87\",\"defer\":\"Synthetic fixture value 88\",\"new\":\"Synthetic fixture value 89\"}}", + "options": [ + "60ef6ba0a24d6d54a", + "e41e913501b8667ec", + "0894c800598969656", + "defer", + "new" + ] } } } @@ -2004,9 +2090,8 @@ "decisionResult": { "requestId": "synthetic-identity-0524", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "60ef6ba0a24d6d54a", "probabilities": { "60ef6ba0a24d6d54a": 0.5, @@ -2107,11 +2192,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0302", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 90\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 91\",\"ec502a90451aaadd5\":\"Synthetic fixture value 92\",\"defer\":\"Synthetic fixture value 93\",\"new\":\"Synthetic fixture value 94\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 90\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 91\",\"ec502a90451aaadd5\":\"Synthetic fixture value 92\",\"defer\":\"Synthetic fixture value 93\",\"new\":\"Synthetic fixture value 94\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -2134,9 +2225,8 @@ "decisionResult": { "requestId": "synthetic-identity-0302", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -2199,26 +2289,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0306", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 95\",\"include\":\"Synthetic fixture value 96\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 95\",\"include\":\"Synthetic fixture value 96\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 97\",\"include\":\"Synthetic fixture value 98\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 97\",\"include\":\"Synthetic fixture value 98\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 99\",\"include\":\"Synthetic fixture value 100\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 99\",\"include\":\"Synthetic fixture value 100\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 101\",\"defer\":\"Synthetic fixture value 102\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 101\",\"defer\":\"Synthetic fixture value 102\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -2242,9 +2344,8 @@ "decisionResult": { "requestId": "synthetic-identity-0306", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2253,7 +2354,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2262,7 +2362,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2271,7 +2370,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -2349,16 +2447,28 @@ "decisionRequest": { "requestId": "synthetic-identity-0311", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 103\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 104\",\"ec502a90451aaadd5\":\"Synthetic fixture value 105\",\"defer\":\"Synthetic fixture value 106\",\"new\":\"Synthetic fixture value 107\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 103\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 104\",\"ec502a90451aaadd5\":\"Synthetic fixture value 105\",\"defer\":\"Synthetic fixture value 106\",\"new\":\"Synthetic fixture value 107\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 108\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 109\",\"ec502a90451aaadd5\":\"Synthetic fixture value 110\",\"defer\":\"Synthetic fixture value 111\",\"new\":\"Synthetic fixture value 112\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 108\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 109\",\"ec502a90451aaadd5\":\"Synthetic fixture value 110\",\"defer\":\"Synthetic fixture value 111\",\"new\":\"Synthetic fixture value 112\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -2381,9 +2491,8 @@ "decisionResult": { "requestId": "synthetic-identity-0311", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -2395,7 +2504,6 @@ "confidence": 0.34 }, "claim1": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -2458,26 +2566,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0315", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 113\",\"include\":\"Synthetic fixture value 114\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 113\",\"include\":\"Synthetic fixture value 114\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 115\",\"include\":\"Synthetic fixture value 116\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 115\",\"include\":\"Synthetic fixture value 116\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 117\",\"include\":\"Synthetic fixture value 118\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 117\",\"include\":\"Synthetic fixture value 118\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 119\",\"defer\":\"Synthetic fixture value 120\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 119\",\"defer\":\"Synthetic fixture value 120\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -2520,9 +2640,8 @@ "decisionResult": { "requestId": "synthetic-identity-0315", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2531,7 +2650,6 @@ "confidence": 0.96 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2540,7 +2658,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2549,7 +2666,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -2627,11 +2743,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0322", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 121\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 122\",\"ec502a90451aaadd5\":\"Synthetic fixture value 123\",\"defer\":\"Synthetic fixture value 124\",\"new\":\"Synthetic fixture value 125\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 121\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 122\",\"ec502a90451aaadd5\":\"Synthetic fixture value 123\",\"defer\":\"Synthetic fixture value 124\",\"new\":\"Synthetic fixture value 125\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -2654,9 +2776,8 @@ "decisionResult": { "requestId": "synthetic-identity-0322", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -2738,26 +2859,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0328", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 126\",\"include\":\"Synthetic fixture value 127\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 126\",\"include\":\"Synthetic fixture value 127\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 128\",\"include\":\"Synthetic fixture value 129\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 128\",\"include\":\"Synthetic fixture value 129\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 130\",\"include\":\"Synthetic fixture value 131\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 130\",\"include\":\"Synthetic fixture value 131\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 132\",\"defer\":\"Synthetic fixture value 133\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 132\",\"defer\":\"Synthetic fixture value 133\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -2781,9 +2914,8 @@ "decisionResult": { "requestId": "synthetic-identity-0328", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2792,7 +2924,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2801,7 +2932,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -2810,7 +2940,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -2888,11 +3017,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0333", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 134\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 135\",\"ec502a90451aaadd5\":\"Synthetic fixture value 136\",\"defer\":\"Synthetic fixture value 137\",\"new\":\"Synthetic fixture value 138\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 134\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 135\",\"ec502a90451aaadd5\":\"Synthetic fixture value 136\",\"defer\":\"Synthetic fixture value 137\",\"new\":\"Synthetic fixture value 138\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -2915,9 +3050,8 @@ "decisionResult": { "requestId": "synthetic-identity-0333", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -2999,26 +3133,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0339", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 139\",\"include\":\"Synthetic fixture value 140\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 139\",\"include\":\"Synthetic fixture value 140\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 141\",\"include\":\"Synthetic fixture value 142\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 141\",\"include\":\"Synthetic fixture value 142\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 143\",\"include\":\"Synthetic fixture value 144\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 143\",\"include\":\"Synthetic fixture value 144\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 145\",\"defer\":\"Synthetic fixture value 146\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 145\",\"defer\":\"Synthetic fixture value 146\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -3042,9 +3188,8 @@ "decisionResult": { "requestId": "synthetic-identity-0339", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3053,7 +3198,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3062,7 +3206,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3071,7 +3214,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -3149,16 +3291,28 @@ "decisionRequest": { "requestId": "synthetic-identity-0344", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 147\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 148\",\"ec502a90451aaadd5\":\"Synthetic fixture value 149\",\"defer\":\"Synthetic fixture value 150\",\"new\":\"Synthetic fixture value 151\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 147\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 148\",\"ec502a90451aaadd5\":\"Synthetic fixture value 149\",\"defer\":\"Synthetic fixture value 150\",\"new\":\"Synthetic fixture value 151\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 152\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 153\",\"ec502a90451aaadd5\":\"Synthetic fixture value 154\",\"defer\":\"Synthetic fixture value 155\",\"new\":\"Synthetic fixture value 156\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 152\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 153\",\"ec502a90451aaadd5\":\"Synthetic fixture value 154\",\"defer\":\"Synthetic fixture value 155\",\"new\":\"Synthetic fixture value 156\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -3200,9 +3354,8 @@ "decisionResult": { "requestId": "synthetic-identity-0344", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -3214,7 +3367,6 @@ "confidence": 0.8 }, "claim1": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -3277,26 +3429,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0350", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 157\",\"include\":\"Synthetic fixture value 158\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 157\",\"include\":\"Synthetic fixture value 158\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 159\",\"include\":\"Synthetic fixture value 160\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 159\",\"include\":\"Synthetic fixture value 160\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 161\",\"include\":\"Synthetic fixture value 162\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 161\",\"include\":\"Synthetic fixture value 162\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 163\",\"defer\":\"Synthetic fixture value 164\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 163\",\"defer\":\"Synthetic fixture value 164\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -3320,9 +3484,8 @@ "decisionResult": { "requestId": "synthetic-identity-0350", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3331,7 +3494,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3340,7 +3502,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3349,7 +3510,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -3427,11 +3587,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0355", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 165\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 166\",\"ec502a90451aaadd5\":\"Synthetic fixture value 167\",\"defer\":\"Synthetic fixture value 168\",\"new\":\"Synthetic fixture value 169\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 165\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 166\",\"ec502a90451aaadd5\":\"Synthetic fixture value 167\",\"defer\":\"Synthetic fixture value 168\",\"new\":\"Synthetic fixture value 169\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -3454,9 +3620,8 @@ "decisionResult": { "requestId": "synthetic-identity-0355", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -3519,26 +3684,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0359", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 170\",\"include\":\"Synthetic fixture value 171\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 170\",\"include\":\"Synthetic fixture value 171\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 172\",\"include\":\"Synthetic fixture value 173\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 172\",\"include\":\"Synthetic fixture value 173\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 174\",\"include\":\"Synthetic fixture value 175\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 174\",\"include\":\"Synthetic fixture value 175\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 176\",\"defer\":\"Synthetic fixture value 177\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 176\",\"defer\":\"Synthetic fixture value 177\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -3562,9 +3739,8 @@ "decisionResult": { "requestId": "synthetic-identity-0359", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3573,7 +3749,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3582,7 +3757,6 @@ "confidence": 0.98 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3591,7 +3765,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -3669,16 +3842,28 @@ "decisionRequest": { "requestId": "synthetic-identity-0364", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 178\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 179\",\"ec502a90451aaadd5\":\"Synthetic fixture value 180\",\"defer\":\"Synthetic fixture value 181\",\"new\":\"Synthetic fixture value 182\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 178\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 179\",\"ec502a90451aaadd5\":\"Synthetic fixture value 180\",\"defer\":\"Synthetic fixture value 181\",\"new\":\"Synthetic fixture value 182\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 183\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 184\",\"ec502a90451aaadd5\":\"Synthetic fixture value 185\",\"defer\":\"Synthetic fixture value 186\",\"new\":\"Synthetic fixture value 187\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 183\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 184\",\"ec502a90451aaadd5\":\"Synthetic fixture value 185\",\"defer\":\"Synthetic fixture value 186\",\"new\":\"Synthetic fixture value 187\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -3701,9 +3886,8 @@ "decisionResult": { "requestId": "synthetic-identity-0364", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -3715,7 +3899,6 @@ "confidence": 0.75 }, "claim1": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -3778,26 +3961,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0368", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 188\",\"include\":\"Synthetic fixture value 189\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 188\",\"include\":\"Synthetic fixture value 189\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 190\",\"include\":\"Synthetic fixture value 191\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 190\",\"include\":\"Synthetic fixture value 191\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 192\",\"include\":\"Synthetic fixture value 193\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 192\",\"include\":\"Synthetic fixture value 193\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 194\",\"defer\":\"Synthetic fixture value 195\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 194\",\"defer\":\"Synthetic fixture value 195\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -3840,9 +4035,8 @@ "decisionResult": { "requestId": "synthetic-identity-0368", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3851,7 +4045,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3860,7 +4053,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -3869,7 +4061,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -3947,11 +4138,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0375", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 196\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 197\",\"ec502a90451aaadd5\":\"Synthetic fixture value 198\",\"defer\":\"Synthetic fixture value 199\",\"new\":\"Synthetic fixture value 200\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 196\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 197\",\"ec502a90451aaadd5\":\"Synthetic fixture value 198\",\"defer\":\"Synthetic fixture value 199\",\"new\":\"Synthetic fixture value 200\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -3974,9 +4171,8 @@ "decisionResult": { "requestId": "synthetic-identity-0375", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -4039,26 +4235,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0379", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 201\",\"include\":\"Synthetic fixture value 202\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 201\",\"include\":\"Synthetic fixture value 202\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 203\",\"include\":\"Synthetic fixture value 204\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 203\",\"include\":\"Synthetic fixture value 204\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 205\",\"include\":\"Synthetic fixture value 206\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 205\",\"include\":\"Synthetic fixture value 206\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 207\",\"defer\":\"Synthetic fixture value 208\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 207\",\"defer\":\"Synthetic fixture value 208\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -4082,9 +4290,8 @@ "decisionResult": { "requestId": "synthetic-identity-0379", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4093,7 +4300,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4102,7 +4308,6 @@ "confidence": 0.98 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4111,7 +4316,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -4189,11 +4393,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0384", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 209\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 210\",\"ec502a90451aaadd5\":\"Synthetic fixture value 211\",\"defer\":\"Synthetic fixture value 212\",\"new\":\"Synthetic fixture value 213\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 209\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 210\",\"ec502a90451aaadd5\":\"Synthetic fixture value 211\",\"defer\":\"Synthetic fixture value 212\",\"new\":\"Synthetic fixture value 213\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -4216,9 +4426,8 @@ "decisionResult": { "requestId": "synthetic-identity-0384", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -4281,26 +4490,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0388", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 214\",\"include\":\"Synthetic fixture value 215\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 214\",\"include\":\"Synthetic fixture value 215\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 216\",\"include\":\"Synthetic fixture value 217\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 216\",\"include\":\"Synthetic fixture value 217\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 218\",\"include\":\"Synthetic fixture value 219\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 218\",\"include\":\"Synthetic fixture value 219\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 220\",\"defer\":\"Synthetic fixture value 221\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 220\",\"defer\":\"Synthetic fixture value 221\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -4343,9 +4564,8 @@ "decisionResult": { "requestId": "synthetic-identity-0388", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4354,7 +4574,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4363,7 +4582,6 @@ "confidence": 0.99 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4372,7 +4590,6 @@ "confidence": 1 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -4450,11 +4667,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0395", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 222\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 223\",\"ec502a90451aaadd5\":\"Synthetic fixture value 224\",\"defer\":\"Synthetic fixture value 225\",\"new\":\"Synthetic fixture value 226\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 222\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 223\",\"ec502a90451aaadd5\":\"Synthetic fixture value 224\",\"defer\":\"Synthetic fixture value 225\",\"new\":\"Synthetic fixture value 226\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -4477,9 +4700,8 @@ "decisionResult": { "requestId": "synthetic-identity-0395", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -4542,26 +4764,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0399", "purpose": "jev_reflex", - "questions": { + "claims": { "1eae434e55c440826": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 227\",\"include\":\"Synthetic fixture value 228\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 227\",\"include\":\"Synthetic fixture value 228\"}}", + "options": [ + "defer", + "include" + ] }, "8b7f9c05e25286b14": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 229\",\"include\":\"Synthetic fixture value 230\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 229\",\"include\":\"Synthetic fixture value 230\"}}", + "options": [ + "defer", + "include" + ] }, "ec502a90451aaadd5": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 231\",\"include\":\"Synthetic fixture value 232\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 231\",\"include\":\"Synthetic fixture value 232\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 233\",\"defer\":\"Synthetic fixture value 234\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 233\",\"defer\":\"Synthetic fixture value 234\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -4585,9 +4819,8 @@ "decisionResult": { "requestId": "synthetic-identity-0399", "purpose": "jev_reflex", - "answers": { + "evaluations": { "1eae434e55c440826": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4596,7 +4829,6 @@ "confidence": 0.98 }, "8b7f9c05e25286b14": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4605,7 +4837,6 @@ "confidence": 1 }, "ec502a90451aaadd5": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -4614,7 +4845,6 @@ "confidence": 0.98 }, "synthetic-identity-0177": { - "type": "choice", "choice": "synthetic-identity-0177", "probabilities": { "synthetic-identity-0177": 0.5, @@ -5298,11 +5528,17 @@ "decisionRequest": { "requestId": "synthetic-identity-0434", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"1eae434e55c440826\":\"Synthetic fixture value 236\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 237\",\"ec502a90451aaadd5\":\"Synthetic fixture value 238\",\"defer\":\"Synthetic fixture value 239\",\"new\":\"Synthetic fixture value 240\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 236\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 237\",\"ec502a90451aaadd5\":\"Synthetic fixture value 238\",\"defer\":\"Synthetic fixture value 239\",\"new\":\"Synthetic fixture value 240\"}}", + "options": [ + "1eae434e55c440826", + "8b7f9c05e25286b14", + "ec502a90451aaadd5", + "defer", + "new" + ] } } } @@ -5325,9 +5561,8 @@ "decisionResult": { "requestId": "synthetic-identity-0434", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "1eae434e55c440826", "probabilities": { "1eae434e55c440826": 0.5, @@ -5428,11 +5663,16 @@ "decisionRequest": { "requestId": "synthetic-identity-0531", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"50759353ece00982e\":\"Synthetic fixture value 241\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 242\",\"defer\":\"Synthetic fixture value 243\",\"new\":\"Synthetic fixture value 244\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 241\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 242\",\"defer\":\"Synthetic fixture value 243\",\"new\":\"Synthetic fixture value 244\"}}", + "options": [ + "50759353ece00982e", + "f1cd4cfc8eb6f9617", + "defer", + "new" + ] } } } @@ -5455,9 +5695,8 @@ "decisionResult": { "requestId": "synthetic-identity-0531", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "f1cd4cfc8eb6f9617", "probabilities": { "50759353ece00982e": 0.5, @@ -5519,21 +5758,30 @@ "decisionRequest": { "requestId": "synthetic-identity-0535", "purpose": "jev_reflex", - "questions": { + "claims": { "50759353ece00982e": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 245\",\"include\":\"Synthetic fixture value 246\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 245\",\"include\":\"Synthetic fixture value 246\"}}", + "options": [ + "defer", + "include" + ] }, "f1cd4cfc8eb6f9617": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 247\",\"include\":\"Synthetic fixture value 248\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 247\",\"include\":\"Synthetic fixture value 248\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 249\",\"defer\":\"Synthetic fixture value 250\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 249\",\"defer\":\"Synthetic fixture value 250\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -5557,9 +5805,8 @@ "decisionResult": { "requestId": "synthetic-identity-0535", "purpose": "jev_reflex", - "answers": { + "evaluations": { "50759353ece00982e": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -5568,7 +5815,6 @@ "confidence": 0.99 }, "f1cd4cfc8eb6f9617": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -5577,7 +5823,6 @@ "confidence": 0.98 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -5655,16 +5900,26 @@ "decisionRequest": { "requestId": "synthetic-identity-0540", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"50759353ece00982e\":\"Synthetic fixture value 251\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 252\",\"defer\":\"Synthetic fixture value 253\",\"new\":\"Synthetic fixture value 254\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 251\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 252\",\"defer\":\"Synthetic fixture value 253\",\"new\":\"Synthetic fixture value 254\"}}", + "options": [ + "50759353ece00982e", + "f1cd4cfc8eb6f9617", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"50759353ece00982e\":\"Synthetic fixture value 255\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 256\",\"defer\":\"Synthetic fixture value 257\",\"new\":\"Synthetic fixture value 258\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 255\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 256\",\"defer\":\"Synthetic fixture value 257\",\"new\":\"Synthetic fixture value 258\"}}", + "options": [ + "50759353ece00982e", + "f1cd4cfc8eb6f9617", + "defer", + "new" + ] } } } @@ -5706,9 +5961,8 @@ "decisionResult": { "requestId": "synthetic-identity-0540", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "f1cd4cfc8eb6f9617", "probabilities": { "50759353ece00982e": 0.5, @@ -5719,7 +5973,6 @@ "confidence": 0.75 }, "claim1": { - "type": "choice", "choice": "f1cd4cfc8eb6f9617", "probabilities": { "50759353ece00982e": 0.5, @@ -5781,21 +6034,30 @@ "decisionRequest": { "requestId": "synthetic-identity-0546", "purpose": "jev_reflex", - "questions": { + "claims": { "50759353ece00982e": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 259\",\"include\":\"Synthetic fixture value 260\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 259\",\"include\":\"Synthetic fixture value 260\"}}", + "options": [ + "defer", + "include" + ] }, "f1cd4cfc8eb6f9617": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 261\",\"include\":\"Synthetic fixture value 262\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 261\",\"include\":\"Synthetic fixture value 262\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 263\",\"defer\":\"Synthetic fixture value 264\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 263\",\"defer\":\"Synthetic fixture value 264\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -5819,9 +6081,8 @@ "decisionResult": { "requestId": "synthetic-identity-0546", "purpose": "jev_reflex", - "answers": { + "evaluations": { "50759353ece00982e": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -5830,7 +6091,6 @@ "confidence": 0.99 }, "f1cd4cfc8eb6f9617": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -5839,7 +6099,6 @@ "confidence": 0.97 }, "synthetic-identity-0177": { - "type": "choice", "choice": "defer", "probabilities": { "synthetic-identity-0177": 0.5, @@ -5917,11 +6176,16 @@ "decisionRequest": { "requestId": "synthetic-identity-0551", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"50759353ece00982e\":\"Synthetic fixture value 265\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 266\",\"defer\":\"Synthetic fixture value 267\",\"new\":\"Synthetic fixture value 268\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 265\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 266\",\"defer\":\"Synthetic fixture value 267\",\"new\":\"Synthetic fixture value 268\"}}", + "options": [ + "50759353ece00982e", + "f1cd4cfc8eb6f9617", + "defer", + "new" + ] } } } @@ -5963,9 +6227,8 @@ "decisionResult": { "requestId": "synthetic-identity-0551", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "f1cd4cfc8eb6f9617", "probabilities": { "50759353ece00982e": 0.5, @@ -6027,21 +6290,30 @@ "decisionRequest": { "requestId": "synthetic-identity-0557", "purpose": "jev_reflex", - "questions": { + "claims": { "50759353ece00982e": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 269\",\"include\":\"Synthetic fixture value 270\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 269\",\"include\":\"Synthetic fixture value 270\"}}", + "options": [ + "defer", + "include" + ] }, "f1cd4cfc8eb6f9617": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 271\",\"include\":\"Synthetic fixture value 272\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 271\",\"include\":\"Synthetic fixture value 272\"}}", + "options": [ + "defer", + "include" + ] }, "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 273\",\"defer\":\"Synthetic fixture value 274\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 273\",\"defer\":\"Synthetic fixture value 274\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -6065,9 +6337,8 @@ "decisionResult": { "requestId": "synthetic-identity-0557", "purpose": "jev_reflex", - "answers": { + "evaluations": { "50759353ece00982e": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -6076,7 +6347,6 @@ "confidence": 0.99 }, "f1cd4cfc8eb6f9617": { - "type": "choice", "choice": "include", "probabilities": { "defer": 0.5, @@ -6085,7 +6355,6 @@ "confidence": 0.99 }, "synthetic-identity-0177": { - "type": "choice", "choice": "synthetic-identity-0177", "probabilities": { "synthetic-identity-0177": 0.5, @@ -6844,16 +7113,26 @@ "decisionRequest": { "requestId": "synthetic-identity-0597", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"50759353ece00982e\":\"Synthetic fixture value 278\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 279\",\"defer\":\"Synthetic fixture value 280\",\"new\":\"Synthetic fixture value 281\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 278\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 279\",\"defer\":\"Synthetic fixture value 280\",\"new\":\"Synthetic fixture value 281\"}}", + "options": [ + "50759353ece00982e", + "f1cd4cfc8eb6f9617", + "defer", + "new" + ] }, "claim1": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"50759353ece00982e\":\"Synthetic fixture value 282\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 283\",\"defer\":\"Synthetic fixture value 284\",\"new\":\"Synthetic fixture value 285\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 282\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 283\",\"defer\":\"Synthetic fixture value 284\",\"new\":\"Synthetic fixture value 285\"}}", + "options": [ + "50759353ece00982e", + "f1cd4cfc8eb6f9617", + "defer", + "new" + ] } } } @@ -6876,9 +7155,8 @@ "decisionResult": { "requestId": "synthetic-identity-0597", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "50759353ece00982e", "probabilities": { "50759353ece00982e": 0.5, @@ -6889,7 +7167,6 @@ "confidence": 0.41 }, "claim1": { - "type": "choice", "choice": "50759353ece00982e", "probabilities": { "50759353ece00982e": 0.5, diff --git a/web/frontend/e2e/fixtures/jev-history/live-protocol.jsonl b/web/frontend/e2e/fixtures/jev-history/live-protocol.jsonl index cd62e9e6d..62fef0fe8 100644 --- a/web/frontend/e2e/fixtures/jev-history/live-protocol.jsonl +++ b/web/frontend/e2e/fixtures/jev-history/live-protocol.jsonl @@ -1,41 +1,41 @@ {"payload":{"event":{"id":"synthetic-identity-0440","emittedAt":"2000-01-01T00:01:11Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"1","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","segmentId":"synthetic-identity-0439","boundaryId":"0e8e63f7d7d72bd9513f6d95fa6f0888b24347151eeea2b367783f94d2cdbcbf","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0442","emittedAt":"2000-01-01T00:01:12Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"2","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","decisionRequest":{"requestId":"synthetic-identity-0441","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 1\",\"e41e913501b8667ec\":\"Synthetic fixture value 2\",\"0894c800598969656\":\"Synthetic fixture value 3\",\"defer\":\"Synthetic fixture value 4\",\"new\":\"Synthetic fixture value 5\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0443","emittedAt":"2000-01-01T00:01:13Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"3","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","decisionResult":{"requestId":"synthetic-identity-0441","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"0894c800598969656","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.21}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0442","emittedAt":"2000-01-01T00:01:12Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"2","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","decisionRequest":{"requestId":"synthetic-identity-0441","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 1\",\"e41e913501b8667ec\":\"Synthetic fixture value 2\",\"0894c800598969656\":\"Synthetic fixture value 3\",\"defer\":\"Synthetic fixture value 4\",\"new\":\"Synthetic fixture value 5\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0443","emittedAt":"2000-01-01T00:01:13Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"3","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","decisionResult":{"requestId":"synthetic-identity-0441","purpose":"jev_claim","evaluations":{"claim0":{"choice":"0894c800598969656","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.21}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0444","emittedAt":"2000-01-01T00:01:14Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"4","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","claimId":"0894c800598969656","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0446","emittedAt":"2000-01-01T00:01:15Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"5","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","claimId":"0894c800598969656","decisionRequest":{"requestId":"synthetic-identity-0445","purpose":"jev_reflex","questions":{"60ef6ba0a24d6d54a":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 6\",\"include\":\"Synthetic fixture value 7\"}"},"e41e913501b8667ec":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 8\",\"include\":\"Synthetic fixture value 9\"}"},"0894c800598969656":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 10\",\"include\":\"Synthetic fixture value 11\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 12\",\"defer\":\"Synthetic fixture value 13\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0447","emittedAt":"2000-01-01T00:01:16Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"6","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","claimId":"0894c800598969656","decisionResult":{"requestId":"synthetic-identity-0445","purpose":"jev_reflex","answers":{"60ef6ba0a24d6d54a":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"e41e913501b8667ec":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"0894c800598969656":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.77}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0446","emittedAt":"2000-01-01T00:01:15Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"5","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","claimId":"0894c800598969656","decisionRequest":{"requestId":"synthetic-identity-0445","purpose":"jev_reflex","claims":{"60ef6ba0a24d6d54a":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 6\",\"include\":\"Synthetic fixture value 7\"}}","options":["defer","include"]},"e41e913501b8667ec":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 8\",\"include\":\"Synthetic fixture value 9\"}}","options":["defer","include"]},"0894c800598969656":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 10\",\"include\":\"Synthetic fixture value 11\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 12\",\"defer\":\"Synthetic fixture value 13\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0447","emittedAt":"2000-01-01T00:01:16Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"6","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","claimId":"0894c800598969656","decisionResult":{"requestId":"synthetic-identity-0445","purpose":"jev_reflex","evaluations":{"60ef6ba0a24d6d54a":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"e41e913501b8667ec":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"0894c800598969656":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.77}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0448","emittedAt":"2000-01-01T00:01:17Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"7","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","claimId":"0894c800598969656","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0449","emittedAt":"2000-01-01T00:01:17Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"8","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"e8450db0ad4378764558885126ee5a0d479108f6f9e39a4e01fa0e480929e73a","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0452","emittedAt":"2000-01-01T00:01:18Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"9","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","decisionRequest":{"requestId":"synthetic-identity-0451","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 14\",\"e41e913501b8667ec\":\"Synthetic fixture value 15\",\"0894c800598969656\":\"Synthetic fixture value 16\",\"defer\":\"Synthetic fixture value 17\",\"new\":\"Synthetic fixture value 18\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 19\",\"e41e913501b8667ec\":\"Synthetic fixture value 20\",\"0894c800598969656\":\"Synthetic fixture value 21\",\"defer\":\"Synthetic fixture value 22\",\"new\":\"Synthetic fixture value 23\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0452","emittedAt":"2000-01-01T00:01:18Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"9","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","decisionRequest":{"requestId":"synthetic-identity-0451","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 14\",\"e41e913501b8667ec\":\"Synthetic fixture value 15\",\"0894c800598969656\":\"Synthetic fixture value 16\",\"defer\":\"Synthetic fixture value 17\",\"new\":\"Synthetic fixture value 18\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 19\",\"e41e913501b8667ec\":\"Synthetic fixture value 20\",\"0894c800598969656\":\"Synthetic fixture value 21\",\"defer\":\"Synthetic fixture value 22\",\"new\":\"Synthetic fixture value 23\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0453","emittedAt":"2000-01-01T00:01:18Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"10","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","segmentId":"synthetic-identity-0450","boundaryId":"a1d5117cfbf02f656f43229a4492f1857e35301985521d93fe18c27d4c231f45","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0454","emittedAt":"2000-01-01T00:01:19Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"11","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","decisionResult":{"requestId":"synthetic-identity-0451","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"0894c800598969656","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.2},"claim1":{"type":"choice","choice":"0894c800598969656","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.22}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0454","emittedAt":"2000-01-01T00:01:19Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"11","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","decisionResult":{"requestId":"synthetic-identity-0451","purpose":"jev_claim","evaluations":{"claim0":{"choice":"0894c800598969656","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.2},"claim1":{"choice":"0894c800598969656","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.22}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0455","emittedAt":"2000-01-01T00:01:20Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"12","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","claimId":"0894c800598969656","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0457","emittedAt":"2000-01-01T00:01:21Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"13","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","claimId":"0894c800598969656","decisionRequest":{"requestId":"synthetic-identity-0456","purpose":"jev_reflex","questions":{"60ef6ba0a24d6d54a":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 24\",\"include\":\"Synthetic fixture value 25\"}"},"e41e913501b8667ec":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 26\",\"include\":\"Synthetic fixture value 27\"}"},"0894c800598969656":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 28\",\"include\":\"Synthetic fixture value 29\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 30\",\"defer\":\"Synthetic fixture value 31\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0457","emittedAt":"2000-01-01T00:01:21Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"13","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","claimId":"0894c800598969656","decisionRequest":{"requestId":"synthetic-identity-0456","purpose":"jev_reflex","claims":{"60ef6ba0a24d6d54a":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 24\",\"include\":\"Synthetic fixture value 25\"}}","options":["defer","include"]},"e41e913501b8667ec":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 26\",\"include\":\"Synthetic fixture value 27\"}}","options":["defer","include"]},"0894c800598969656":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 28\",\"include\":\"Synthetic fixture value 29\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 30\",\"defer\":\"Synthetic fixture value 31\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0459","emittedAt":"2000-01-01T00:01:22Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"14","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","segmentId":"synthetic-identity-0458","boundaryId":"9ebb10b398ed3bfeebdfd95b7005f987b925a937b17f08ef02d717c7c1c9ed28","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0460","emittedAt":"2000-01-01T00:01:23Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"15","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","claimId":"0894c800598969656","decisionResult":{"requestId":"synthetic-identity-0456","purpose":"jev_reflex","answers":{"60ef6ba0a24d6d54a":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"e41e913501b8667ec":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"0894c800598969656":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.39}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0460","emittedAt":"2000-01-01T00:01:23Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"15","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","claimId":"0894c800598969656","decisionResult":{"requestId":"synthetic-identity-0456","purpose":"jev_reflex","evaluations":{"60ef6ba0a24d6d54a":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"e41e913501b8667ec":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"0894c800598969656":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.39}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0461","emittedAt":"2000-01-01T00:01:24Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"16","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","claimId":"0894c800598969656","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0462","emittedAt":"2000-01-01T00:01:24Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"17","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"546a330bba90da5f2b0939585b9b31469185d6d74735da682cf5ff45dd52ce8d","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0464","emittedAt":"2000-01-01T00:01:25Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"18","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","decisionRequest":{"requestId":"synthetic-identity-0463","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 32\",\"e41e913501b8667ec\":\"Synthetic fixture value 33\",\"0894c800598969656\":\"Synthetic fixture value 34\",\"defer\":\"Synthetic fixture value 35\",\"new\":\"Synthetic fixture value 36\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 37\",\"e41e913501b8667ec\":\"Synthetic fixture value 38\",\"0894c800598969656\":\"Synthetic fixture value 39\",\"defer\":\"Synthetic fixture value 40\",\"new\":\"Synthetic fixture value 41\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0465","emittedAt":"2000-01-01T00:01:26Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"19","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","decisionResult":{"requestId":"synthetic-identity-0463","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.54},"claim1":{"type":"choice","choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.6}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0464","emittedAt":"2000-01-01T00:01:25Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"18","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","decisionRequest":{"requestId":"synthetic-identity-0463","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 32\",\"e41e913501b8667ec\":\"Synthetic fixture value 33\",\"0894c800598969656\":\"Synthetic fixture value 34\",\"defer\":\"Synthetic fixture value 35\",\"new\":\"Synthetic fixture value 36\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 37\",\"e41e913501b8667ec\":\"Synthetic fixture value 38\",\"0894c800598969656\":\"Synthetic fixture value 39\",\"defer\":\"Synthetic fixture value 40\",\"new\":\"Synthetic fixture value 41\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0465","emittedAt":"2000-01-01T00:01:26Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"19","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","decisionResult":{"requestId":"synthetic-identity-0463","purpose":"jev_claim","evaluations":{"claim0":{"choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.54},"claim1":{"choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.6}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0466","emittedAt":"2000-01-01T00:01:27Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"20","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","claimId":"60ef6ba0a24d6d54a","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0468","emittedAt":"2000-01-01T00:01:28Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"21","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","claimId":"60ef6ba0a24d6d54a","decisionRequest":{"requestId":"synthetic-identity-0467","purpose":"jev_reflex","questions":{"60ef6ba0a24d6d54a":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 42\",\"include\":\"Synthetic fixture value 43\"}"},"e41e913501b8667ec":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 44\",\"include\":\"Synthetic fixture value 45\"}"},"0894c800598969656":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 46\",\"include\":\"Synthetic fixture value 47\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 48\",\"defer\":\"Synthetic fixture value 49\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0469","emittedAt":"2000-01-01T00:01:29Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"22","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","claimId":"60ef6ba0a24d6d54a","decisionResult":{"requestId":"synthetic-identity-0467","purpose":"jev_reflex","answers":{"60ef6ba0a24d6d54a":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"e41e913501b8667ec":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"0894c800598969656":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.19}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0468","emittedAt":"2000-01-01T00:01:28Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"21","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","claimId":"60ef6ba0a24d6d54a","decisionRequest":{"requestId":"synthetic-identity-0467","purpose":"jev_reflex","claims":{"60ef6ba0a24d6d54a":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 42\",\"include\":\"Synthetic fixture value 43\"}}","options":["defer","include"]},"e41e913501b8667ec":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 44\",\"include\":\"Synthetic fixture value 45\"}}","options":["defer","include"]},"0894c800598969656":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 46\",\"include\":\"Synthetic fixture value 47\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 48\",\"defer\":\"Synthetic fixture value 49\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0469","emittedAt":"2000-01-01T00:01:29Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"22","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","claimId":"60ef6ba0a24d6d54a","decisionResult":{"requestId":"synthetic-identity-0467","purpose":"jev_reflex","evaluations":{"60ef6ba0a24d6d54a":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"e41e913501b8667ec":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"0894c800598969656":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.19}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0470","emittedAt":"2000-01-01T00:01:30Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"23","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","claimId":"60ef6ba0a24d6d54a","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0471","emittedAt":"2000-01-01T00:01:30Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"24","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"daa5d5fa8c518856a7a4c0cbba6481df09ec848879363e135b26963387e43fec","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0473","emittedAt":"2000-01-01T00:01:31Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"25","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","decisionRequest":{"requestId":"synthetic-identity-0472","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 50\",\"e41e913501b8667ec\":\"Synthetic fixture value 51\",\"0894c800598969656\":\"Synthetic fixture value 52\",\"defer\":\"Synthetic fixture value 53\",\"new\":\"Synthetic fixture value 54\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 55\",\"e41e913501b8667ec\":\"Synthetic fixture value 56\",\"0894c800598969656\":\"Synthetic fixture value 57\",\"defer\":\"Synthetic fixture value 58\",\"new\":\"Synthetic fixture value 59\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0473","emittedAt":"2000-01-01T00:01:31Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"25","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","decisionRequest":{"requestId":"synthetic-identity-0472","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 50\",\"e41e913501b8667ec\":\"Synthetic fixture value 51\",\"0894c800598969656\":\"Synthetic fixture value 52\",\"defer\":\"Synthetic fixture value 53\",\"new\":\"Synthetic fixture value 54\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 55\",\"e41e913501b8667ec\":\"Synthetic fixture value 56\",\"0894c800598969656\":\"Synthetic fixture value 57\",\"defer\":\"Synthetic fixture value 58\",\"new\":\"Synthetic fixture value 59\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0475","emittedAt":"2000-01-01T00:01:32Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"26","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","segmentId":"synthetic-identity-0474","boundaryId":"06dd7d3eb3e72d42eaec249eba68492ee707cced55c9ba3194e2292ae24e4f78","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0476","emittedAt":"2000-01-01T00:01:33Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"27","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","decisionResult":{"requestId":"synthetic-identity-0472","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.82},"claim1":{"type":"choice","choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.69}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0476","emittedAt":"2000-01-01T00:01:33Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"27","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","decisionResult":{"requestId":"synthetic-identity-0472","purpose":"jev_claim","evaluations":{"claim0":{"choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.82},"claim1":{"choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.69}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0477","emittedAt":"2000-01-01T00:01:34Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"28","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","claimId":"60ef6ba0a24d6d54a","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0479","emittedAt":"2000-01-01T00:01:35Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"29","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","claimId":"60ef6ba0a24d6d54a","decisionRequest":{"requestId":"synthetic-identity-0478","purpose":"jev_reflex","questions":{"60ef6ba0a24d6d54a":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 60\",\"include\":\"Synthetic fixture value 61\"}"},"e41e913501b8667ec":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 62\",\"include\":\"Synthetic fixture value 63\"}"},"0894c800598969656":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 64\",\"include\":\"Synthetic fixture value 65\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 66\",\"defer\":\"Synthetic fixture value 67\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0480","emittedAt":"2000-01-01T00:01:36Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"30","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","claimId":"60ef6ba0a24d6d54a","decisionResult":{"requestId":"synthetic-identity-0478","purpose":"jev_reflex","answers":{"60ef6ba0a24d6d54a":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"e41e913501b8667ec":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"0894c800598969656":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.21}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0479","emittedAt":"2000-01-01T00:01:35Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"29","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","claimId":"60ef6ba0a24d6d54a","decisionRequest":{"requestId":"synthetic-identity-0478","purpose":"jev_reflex","claims":{"60ef6ba0a24d6d54a":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 60\",\"include\":\"Synthetic fixture value 61\"}}","options":["defer","include"]},"e41e913501b8667ec":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 62\",\"include\":\"Synthetic fixture value 63\"}}","options":["defer","include"]},"0894c800598969656":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 64\",\"include\":\"Synthetic fixture value 65\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 66\",\"defer\":\"Synthetic fixture value 67\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0480","emittedAt":"2000-01-01T00:01:36Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"30","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","claimId":"60ef6ba0a24d6d54a","decisionResult":{"requestId":"synthetic-identity-0478","purpose":"jev_reflex","evaluations":{"60ef6ba0a24d6d54a":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"e41e913501b8667ec":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"0894c800598969656":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.21}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0481","emittedAt":"2000-01-01T00:01:37Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"31","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","claimId":"60ef6ba0a24d6d54a","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0482","emittedAt":"2000-01-01T00:01:37Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"32","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"f1a7a37301dc399d5a33a970daa722f9872e62c5d7eb064c5f2c1e0e12f475e4","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0484","emittedAt":"2000-01-01T00:01:37Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"33","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","decisionRequest":{"requestId":"synthetic-identity-0483","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 68\",\"e41e913501b8667ec\":\"Synthetic fixture value 69\",\"0894c800598969656\":\"Synthetic fixture value 70\",\"defer\":\"Synthetic fixture value 71\",\"new\":\"Synthetic fixture value 72\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0484","emittedAt":"2000-01-01T00:01:37Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"33","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","decisionRequest":{"requestId":"synthetic-identity-0483","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 68\",\"e41e913501b8667ec\":\"Synthetic fixture value 69\",\"0894c800598969656\":\"Synthetic fixture value 70\",\"defer\":\"Synthetic fixture value 71\",\"new\":\"Synthetic fixture value 72\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0486","emittedAt":"2000-01-01T00:01:38Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"34","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","segmentId":"synthetic-identity-0485","boundaryId":"912a25035dc319eba8d445be2ebdb6b5014056b071971b4ce93f3c05fcb748d2","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0487","emittedAt":"2000-01-01T00:01:39Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"35","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","decisionResult":{"requestId":"synthetic-identity-0483","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.6}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0487","emittedAt":"2000-01-01T00:01:39Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"35","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","decisionResult":{"requestId":"synthetic-identity-0483","purpose":"jev_claim","evaluations":{"claim0":{"choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.6}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0488","emittedAt":"2000-01-01T00:01:40Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"36","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0490","emittedAt":"2000-01-01T00:01:40Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"37","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","decisionRequest":{"requestId":"synthetic-identity-0489","purpose":"jev_reflex","questions":{"60ef6ba0a24d6d54a":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 73\",\"include\":\"Synthetic fixture value 74\"}"},"e41e913501b8667ec":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 75\",\"include\":\"Synthetic fixture value 76\"}"},"0894c800598969656":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 77\",\"include\":\"Synthetic fixture value 78\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 79\",\"defer\":\"Synthetic fixture value 80\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0491","emittedAt":"2000-01-01T00:01:41Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"38","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","decisionResult":{"requestId":"synthetic-identity-0489","purpose":"jev_reflex","answers":{"60ef6ba0a24d6d54a":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"e41e913501b8667ec":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"0894c800598969656":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"synthetic-identity-0177","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.32}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0490","emittedAt":"2000-01-01T00:01:40Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"37","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","decisionRequest":{"requestId":"synthetic-identity-0489","purpose":"jev_reflex","claims":{"60ef6ba0a24d6d54a":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 73\",\"include\":\"Synthetic fixture value 74\"}}","options":["defer","include"]},"e41e913501b8667ec":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 75\",\"include\":\"Synthetic fixture value 76\"}}","options":["defer","include"]},"0894c800598969656":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 77\",\"include\":\"Synthetic fixture value 78\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 79\",\"defer\":\"Synthetic fixture value 80\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0491","emittedAt":"2000-01-01T00:01:41Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"38","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","decisionResult":{"requestId":"synthetic-identity-0489","purpose":"jev_reflex","evaluations":{"60ef6ba0a24d6d54a":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"e41e913501b8667ec":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"0894c800598969656":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"synthetic-identity-0177","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.32}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0493","emittedAt":"2000-01-01T00:01:42Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"39","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","generation":{"kind":"reflex_llm","state":"started","requestId":"synthetic-identity-0492","requestedEffort":"none"}}}}} {"payload":{"event":{"id":"synthetic-identity-0495","emittedAt":"2000-01-01T00:01:42Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"40","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","generation":{"kind":"compiler_round","state":"started","requestId":"synthetic-identity-0494","attempt":1,"parentRequestId":"synthetic-identity-0492","phase":"compilation"}}}}} {"payload":{"event":{"id":"synthetic-identity-0496","emittedAt":"2000-01-01T00:01:43Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"41","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","generation":{"kind":"compiler_round","state":"finished","output":"[]","elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"cache_miss":"1000","cache_read":"1000","cache_write":"1000"}},"requestId":"synthetic-identity-0494","attempt":1,"parentRequestId":"synthetic-identity-0492","phase":"compilation"}}}}} @@ -59,85 +59,85 @@ {"payload":{"event":{"id":"synthetic-identity-0521","emittedAt":"2000-01-01T00:01:50Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"59","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","claimId":"60ef6ba0a24d6d54a","generation":{"kind":"reflex_llm","state":"finished","output":"[]","elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"cache_miss":"1000","cache_read":"1000","cache_write":"1000","requests":"1"}},"requestId":"synthetic-identity-0492","requestedEffort":"none"}}}}} {"payload":{"event":{"id":"synthetic-identity-0522","emittedAt":"2000-01-01T00:01:51Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"60","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"57176efb422ed5661ef077b8b453b42895028b8249101e4acaae59b4e5ad9974","libraryChange":{"state":"reflex_candidate","reflex":{"id":"synthetic-identity-0280","when":"Synthetic fixture when 81","decide":"Use the synthetic fixture inputs and defer when they are absent.","observe":"js:function(context, args) {\n args = args || {};\n var missing = [];\n if (!args.url) missing.push(\"url\");\n if (!args.session) missing.push(\"session\");\n if (!args.term) missing.push(\"term\");\n if (!args.input_selector) missing.push(\"input_selector\");\n if (!args.submit_selector) missing.push(\"submit_selector\");\n if (missing.length) return {defer: \"missing current arguments\", parameters: \"url, session, term, input_selector, submit_selector\"};\n var session = args.session;\n var term = String(args.term);\n var inSel = String(args.input_selector);\n var btnSel = String(args.submit_selector);\n var prefix = (args.receipt_prefix == null) ? \"Receipt: \" : String(args.receipt_prefix);\n\n function snap(data) {\n if (!data || !data.elements) return null;\n return data.elements;\n }\n function findIdx(elements) {\n if (!elements) return -1;\n for (var i = 0; i < elements.length; i++) {\n var t = elements[i].text;\n if (t && t.indexOf(prefix) === 0) return i;\n }\n return -1;\n }\n function reportFor(elements, hostCall) {\n var idx = findIdx(elements);\n if (idx < 0) return null;\n return {report: {evidence: hostCall, path: [\"data\", \"elements\", idx, \"text\"]}};\n }\n\n var hostCall = null;\n var elements = null;\n var opened = false;\n var filled = false;\n var clicked = false;\n var anySnapshot = false;\n var postClickSnapshot = false;\n\n var hist = context.history || [];\n for (var h = 0; h < hist.length; h++) {\n var rec = hist[h];\n if (rec.name !== \"bash\") continue;\n var av = (rec.decoded_argv || []).slice();\n if (av[0] !== \"playwright\") continue;\n var sub = av[1];\n if (sub === \"open\" && av[2] === args.url && av.indexOf(\"--session\") >= 0) { opened = true; }\n if (sub === \"fill\" && av[2] === session && av[3] === inSel && av[4] === term) { filled = true; }\n if (sub === \"click\" && av[2] === session && av[3] === btnSel) { clicked = true; }\n if (sub === \"snapshot\" && av[2] === session && rec.data) {\n elements = snap(rec.data);\n if (rec.call_id) hostCall = rec.call_id;\n anySnapshot = true;\n if (clicked) postClickSnapshot = true;\n }\n }\n\n if (clicked && postClickSnapshot && elements) {\n var done = reportFor(elements, hostCall);\n if (done) return done;\n }\n\n if (!opened) {\n var o = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"open\", args.url, \"--session\", session])}, read: false, step: \"open\", occurrence: 0});\n if (o && o.is_error) return {defer: \"open failed: \" + (o.text || \"unknown\")};\n }\n\n if (!anySnapshot) {\n var s1 = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"snapshot\", session, \"--json\"])}, read: true});\n if (s1 && s1.call_id) hostCall = s1.call_id;\n elements = snap(s1 && s1.data);\n }\n\n if (!filled) {\n var f = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"fill\", session, inSel, term])}, read: false, step: \"fill\", occurrence: 0});\n if (f && f.is_error) return {defer: \"fill failed: \" + (f.text || \"unknown\")};\n }\n\n if (!clicked) {\n var c = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"click\", session, btnSel])}, read: false, step: \"click\", occurrence: 0});\n if (c && c.is_error) return {defer: \"click failed: \" + (c.text || \"unknown\")};\n }\n\n if (!postClickSnapshot) {\n var s2 = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"snapshot\", session, \"--json\"])}, read: true});\n if (s2 && s2.call_id) hostCall = s2.call_id;\n var e2 = snap(s2 && s2.data);\n var p2 = reportFor(e2, hostCall);\n if (p2) return p2;\n }\n return {defer: \"receipt not yet visible after submit\"};\n}","claimIds":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656"],"contracts":{"command:experiment":"abe25c89e23db76babe27845dc50808e179376d3e568d08bc7f62aa3c2d4b4be","command:jev":"9729b785e09bd242c2b73d15a336408ff05ee574472ae60963d071215585f4c2","command:playwright":"6a0b9da4a4cd5c8b6dce0937b4f0061c196ecfa2f4ab237cca4f3dd65743489a","helpers":"98aa22757269c3f695b8e3254b3cba7af0f196d29e5e05db58821ec7e43533db","tool:bash":"2efbb2e0f82e04e8fa7e605121b300db09945e5fb0624a2c25a7478d900599af"},"apiVersion":2,"qualificationJson":"null","manifestJson":"{\"parameters_schema\":null,\"steps\":{\"poll\":{\"contract\":\"Synthetic fixture value 82\",\"count_argument\":\"Synthetic fixture value 83\"},\"submit\":{\"contract\":\"Synthetic fixture value 84\",\"count\":1}}}","blocker":"Synthetic validation failure."},"reason":"Synthetic validation failure."}}}}} {"payload":{"event":{"id":"synthetic-identity-0523","emittedAt":"2000-01-01T00:01:51Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"61","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"de1945b5b1aa8afa5a7c5ef1f828972878974dc8b76ce6faf02df22f27b9b9a8","libraryChange":{"state":"failed","reason":"Synthetic validation failure."}}}}} -{"payload":{"event":{"id":"synthetic-identity-0525","emittedAt":"2000-01-01T00:01:52Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"62","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"a219c53ea18cba0242bc1649658b4863bd2d8345f2cfa4547f373bac5dd89d60","decisionRequest":{"requestId":"synthetic-identity-0524","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 85\",\"e41e913501b8667ec\":\"Synthetic fixture value 86\",\"0894c800598969656\":\"Synthetic fixture value 87\",\"defer\":\"Synthetic fixture value 88\",\"new\":\"Synthetic fixture value 89\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0526","emittedAt":"2000-01-01T00:01:53Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"63","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"a219c53ea18cba0242bc1649658b4863bd2d8345f2cfa4547f373bac5dd89d60","decisionResult":{"requestId":"synthetic-identity-0524","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.56}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0525","emittedAt":"2000-01-01T00:01:52Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"62","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"a219c53ea18cba0242bc1649658b4863bd2d8345f2cfa4547f373bac5dd89d60","decisionRequest":{"requestId":"synthetic-identity-0524","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"60ef6ba0a24d6d54a\":\"Synthetic fixture value 85\",\"e41e913501b8667ec\":\"Synthetic fixture value 86\",\"0894c800598969656\":\"Synthetic fixture value 87\",\"defer\":\"Synthetic fixture value 88\",\"new\":\"Synthetic fixture value 89\"}}","options":["60ef6ba0a24d6d54a","e41e913501b8667ec","0894c800598969656","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0526","emittedAt":"2000-01-01T00:01:53Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"63","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"a219c53ea18cba0242bc1649658b4863bd2d8345f2cfa4547f373bac5dd89d60","decisionResult":{"requestId":"synthetic-identity-0524","purpose":"jev_claim","evaluations":{"claim0":{"choice":"60ef6ba0a24d6d54a","probabilities":{"60ef6ba0a24d6d54a":0.5,"e41e913501b8667ec":0.5,"0894c800598969656":0.5,"defer":0.5,"new":0.5},"confidence":0.56}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0527","emittedAt":"2000-01-01T00:01:54Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"64","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"a219c53ea18cba0242bc1649658b4863bd2d8345f2cfa4547f373bac5dd89d60","claimId":"60ef6ba0a24d6d54a","libraryChange":{"state":"deferred","reason":"Synthetic validation failure."}}}}} {"payload":{"event":{"id":"synthetic-identity-0528","emittedAt":"2000-01-01T00:01:54Z","sessionId":"synthetic-identity-0267","turnId":"synthetic-identity-0176","emitter":"jev","seq":"65","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"f583382237313631f5519abed834d69f6059da3f14958586a7833a81f329cfee","background":true,"boundaryId":"a219c53ea18cba0242bc1649658b4863bd2d8345f2cfa4547f373bac5dd89d60","libraryChange":{"state":"settled"}}}}} {"payload":{"event":{"id":"synthetic-identity-0301","emittedAt":"2000-01-01T00:00:00Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"1","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0300","boundaryId":"95532266eb0c742036cff79e5e74c3f1f688dbfd3b05a75aa1da2441e36245fb","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0303","emittedAt":"2000-01-01T00:00:00Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"2","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","decisionRequest":{"requestId":"synthetic-identity-0302","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 90\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 91\",\"ec502a90451aaadd5\":\"Synthetic fixture value 92\",\"defer\":\"Synthetic fixture value 93\",\"new\":\"Synthetic fixture value 94\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0304","emittedAt":"2000-01-01T00:00:01Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"3","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","decisionResult":{"requestId":"synthetic-identity-0302","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.33}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0303","emittedAt":"2000-01-01T00:00:00Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"2","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","decisionRequest":{"requestId":"synthetic-identity-0302","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 90\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 91\",\"ec502a90451aaadd5\":\"Synthetic fixture value 92\",\"defer\":\"Synthetic fixture value 93\",\"new\":\"Synthetic fixture value 94\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0304","emittedAt":"2000-01-01T00:00:01Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"3","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","decisionResult":{"requestId":"synthetic-identity-0302","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.33}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0305","emittedAt":"2000-01-01T00:00:02Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"4","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0307","emittedAt":"2000-01-01T00:00:03Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"5","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0306","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 95\",\"include\":\"Synthetic fixture value 96\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 97\",\"include\":\"Synthetic fixture value 98\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 99\",\"include\":\"Synthetic fixture value 100\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 101\",\"defer\":\"Synthetic fixture value 102\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0308","emittedAt":"2000-01-01T00:00:04Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"6","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0306","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.96}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0307","emittedAt":"2000-01-01T00:00:03Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"5","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0306","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 95\",\"include\":\"Synthetic fixture value 96\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 97\",\"include\":\"Synthetic fixture value 98\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 99\",\"include\":\"Synthetic fixture value 100\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 101\",\"defer\":\"Synthetic fixture value 102\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0308","emittedAt":"2000-01-01T00:00:04Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"6","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0306","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.96}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0309","emittedAt":"2000-01-01T00:00:05Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"7","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0310","emittedAt":"2000-01-01T00:00:05Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"8","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e336b57242c1557d5f4c86f99d392ce572216c51669eab47ba9c6efb1996428c","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0312","emittedAt":"2000-01-01T00:00:06Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"9","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","decisionRequest":{"requestId":"synthetic-identity-0311","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 103\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 104\",\"ec502a90451aaadd5\":\"Synthetic fixture value 105\",\"defer\":\"Synthetic fixture value 106\",\"new\":\"Synthetic fixture value 107\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 108\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 109\",\"ec502a90451aaadd5\":\"Synthetic fixture value 110\",\"defer\":\"Synthetic fixture value 111\",\"new\":\"Synthetic fixture value 112\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0313","emittedAt":"2000-01-01T00:00:07Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"10","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","decisionResult":{"requestId":"synthetic-identity-0311","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.34},"claim1":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.43}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0312","emittedAt":"2000-01-01T00:00:06Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"9","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","decisionRequest":{"requestId":"synthetic-identity-0311","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 103\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 104\",\"ec502a90451aaadd5\":\"Synthetic fixture value 105\",\"defer\":\"Synthetic fixture value 106\",\"new\":\"Synthetic fixture value 107\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 108\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 109\",\"ec502a90451aaadd5\":\"Synthetic fixture value 110\",\"defer\":\"Synthetic fixture value 111\",\"new\":\"Synthetic fixture value 112\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0313","emittedAt":"2000-01-01T00:00:07Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"10","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","decisionResult":{"requestId":"synthetic-identity-0311","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.34},"claim1":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.43}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0314","emittedAt":"2000-01-01T00:00:08Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"11","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0316","emittedAt":"2000-01-01T00:00:09Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"12","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0315","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 113\",\"include\":\"Synthetic fixture value 114\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 115\",\"include\":\"Synthetic fixture value 116\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 117\",\"include\":\"Synthetic fixture value 118\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 119\",\"defer\":\"Synthetic fixture value 120\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0316","emittedAt":"2000-01-01T00:00:09Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"12","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0315","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 113\",\"include\":\"Synthetic fixture value 114\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 115\",\"include\":\"Synthetic fixture value 116\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 117\",\"include\":\"Synthetic fixture value 118\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 119\",\"defer\":\"Synthetic fixture value 120\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0318","emittedAt":"2000-01-01T00:00:10Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"13","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0317","boundaryId":"3f1067df3936a65f328ccbfd2cb6daba80e87e1927986285065dad87b22ca584","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0319","emittedAt":"2000-01-01T00:00:11Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"14","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0315","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.96},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.94}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0319","emittedAt":"2000-01-01T00:00:11Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"14","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0315","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.96},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.94}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0320","emittedAt":"2000-01-01T00:00:12Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"15","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0321","emittedAt":"2000-01-01T00:00:12Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"16","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"13663f0ebecbb58d4f7f9cbd6bf92d909233e77bc0fac0e5893982e3928e3dc6","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0323","emittedAt":"2000-01-01T00:00:12Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"17","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","decisionRequest":{"requestId":"synthetic-identity-0322","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 121\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 122\",\"ec502a90451aaadd5\":\"Synthetic fixture value 123\",\"defer\":\"Synthetic fixture value 124\",\"new\":\"Synthetic fixture value 125\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0324","emittedAt":"2000-01-01T00:00:13Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"18","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","decisionResult":{"requestId":"synthetic-identity-0322","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.5}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0323","emittedAt":"2000-01-01T00:00:12Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"17","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","decisionRequest":{"requestId":"synthetic-identity-0322","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 121\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 122\",\"ec502a90451aaadd5\":\"Synthetic fixture value 123\",\"defer\":\"Synthetic fixture value 124\",\"new\":\"Synthetic fixture value 125\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0324","emittedAt":"2000-01-01T00:00:13Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"18","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","decisionResult":{"requestId":"synthetic-identity-0322","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.5}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0326","emittedAt":"2000-01-01T00:00:14Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"19","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0325","boundaryId":"f34dff5818e243569c6cff09c2c08a7548c3254d8ad64b2b7f4b6d5f1892508c","boundary":{"reason":"no_reflex"}}}}} {"payload":{"event":{"id":"synthetic-identity-0327","emittedAt":"2000-01-01T00:00:15Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"20","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0329","emittedAt":"2000-01-01T00:00:16Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"21","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0328","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 126\",\"include\":\"Synthetic fixture value 127\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 128\",\"include\":\"Synthetic fixture value 129\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 130\",\"include\":\"Synthetic fixture value 131\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 132\",\"defer\":\"Synthetic fixture value 133\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0330","emittedAt":"2000-01-01T00:00:17Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"22","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0328","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.22}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0329","emittedAt":"2000-01-01T00:00:16Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"21","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0328","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 126\",\"include\":\"Synthetic fixture value 127\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 128\",\"include\":\"Synthetic fixture value 129\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 130\",\"include\":\"Synthetic fixture value 131\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 132\",\"defer\":\"Synthetic fixture value 133\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0330","emittedAt":"2000-01-01T00:00:17Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"22","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0328","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.22}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0331","emittedAt":"2000-01-01T00:00:18Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"23","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0332","emittedAt":"2000-01-01T00:00:18Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"24","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"243e493cc5b30d796a6872483ebb3a17c09d894b078bbc9fe3d2c71076a221e0","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0334","emittedAt":"2000-01-01T00:00:19Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"25","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","decisionRequest":{"requestId":"synthetic-identity-0333","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 134\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 135\",\"ec502a90451aaadd5\":\"Synthetic fixture value 136\",\"defer\":\"Synthetic fixture value 137\",\"new\":\"Synthetic fixture value 138\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0336","emittedAt":"2000-01-01T00:00:20Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"26","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","decisionResult":{"requestId":"synthetic-identity-0333","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.7}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0334","emittedAt":"2000-01-01T00:00:19Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"25","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","decisionRequest":{"requestId":"synthetic-identity-0333","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 134\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 135\",\"ec502a90451aaadd5\":\"Synthetic fixture value 136\",\"defer\":\"Synthetic fixture value 137\",\"new\":\"Synthetic fixture value 138\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0336","emittedAt":"2000-01-01T00:00:20Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"26","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","decisionResult":{"requestId":"synthetic-identity-0333","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.7}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0337","emittedAt":"2000-01-01T00:00:21Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"27","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0335","boundaryId":"3166b1e6674437ff8475571248e414ff9ffcda003b55cfb7fdd1caa55dd5ae26","boundary":{"reason":"no_reflex"}}}}} {"payload":{"event":{"id":"synthetic-identity-0338","emittedAt":"2000-01-01T00:00:22Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"28","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0340","emittedAt":"2000-01-01T00:00:23Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"29","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0339","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 139\",\"include\":\"Synthetic fixture value 140\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 141\",\"include\":\"Synthetic fixture value 142\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 143\",\"include\":\"Synthetic fixture value 144\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 145\",\"defer\":\"Synthetic fixture value 146\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0341","emittedAt":"2000-01-01T00:00:24Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"30","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0339","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.28}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0340","emittedAt":"2000-01-01T00:00:23Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"29","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0339","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 139\",\"include\":\"Synthetic fixture value 140\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 141\",\"include\":\"Synthetic fixture value 142\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 143\",\"include\":\"Synthetic fixture value 144\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 145\",\"defer\":\"Synthetic fixture value 146\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0341","emittedAt":"2000-01-01T00:00:24Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"30","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0339","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.28}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0342","emittedAt":"2000-01-01T00:00:25Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"31","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0343","emittedAt":"2000-01-01T00:00:25Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"32","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"ab78ca459478d3a88c581c4e0b4b3782f8140c96033e4eef9b34092577e89f13","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0345","emittedAt":"2000-01-01T00:00:25Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"33","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","decisionRequest":{"requestId":"synthetic-identity-0344","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 147\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 148\",\"ec502a90451aaadd5\":\"Synthetic fixture value 149\",\"defer\":\"Synthetic fixture value 150\",\"new\":\"Synthetic fixture value 151\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 152\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 153\",\"ec502a90451aaadd5\":\"Synthetic fixture value 154\",\"defer\":\"Synthetic fixture value 155\",\"new\":\"Synthetic fixture value 156\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0345","emittedAt":"2000-01-01T00:00:25Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"33","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","decisionRequest":{"requestId":"synthetic-identity-0344","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 147\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 148\",\"ec502a90451aaadd5\":\"Synthetic fixture value 149\",\"defer\":\"Synthetic fixture value 150\",\"new\":\"Synthetic fixture value 151\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 152\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 153\",\"ec502a90451aaadd5\":\"Synthetic fixture value 154\",\"defer\":\"Synthetic fixture value 155\",\"new\":\"Synthetic fixture value 156\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0347","emittedAt":"2000-01-01T00:00:26Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"34","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0346","boundaryId":"96a6525b4b7990ba973e571309ffae3230c4e8a6feeae626a0332b215907d381","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0348","emittedAt":"2000-01-01T00:00:27Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"35","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","decisionResult":{"requestId":"synthetic-identity-0344","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.8},"claim1":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.76}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0348","emittedAt":"2000-01-01T00:00:27Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"35","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","decisionResult":{"requestId":"synthetic-identity-0344","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.8},"claim1":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.76}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0349","emittedAt":"2000-01-01T00:00:28Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"36","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0351","emittedAt":"2000-01-01T00:00:29Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"37","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0350","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 157\",\"include\":\"Synthetic fixture value 158\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 159\",\"include\":\"Synthetic fixture value 160\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 161\",\"include\":\"Synthetic fixture value 162\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 163\",\"defer\":\"Synthetic fixture value 164\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0352","emittedAt":"2000-01-01T00:00:30Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"38","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0350","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.22}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0351","emittedAt":"2000-01-01T00:00:29Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"37","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0350","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 157\",\"include\":\"Synthetic fixture value 158\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 159\",\"include\":\"Synthetic fixture value 160\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 161\",\"include\":\"Synthetic fixture value 162\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 163\",\"defer\":\"Synthetic fixture value 164\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0352","emittedAt":"2000-01-01T00:00:30Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"38","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0350","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.22}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0353","emittedAt":"2000-01-01T00:00:31Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"39","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0354","emittedAt":"2000-01-01T00:00:31Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"40","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"4eba43c1940524ebacce9b82e15d555eae629e7ba631081b421ef65a62380903","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0356","emittedAt":"2000-01-01T00:00:32Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"41","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","decisionRequest":{"requestId":"synthetic-identity-0355","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 165\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 166\",\"ec502a90451aaadd5\":\"Synthetic fixture value 167\",\"defer\":\"Synthetic fixture value 168\",\"new\":\"Synthetic fixture value 169\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0357","emittedAt":"2000-01-01T00:00:33Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"42","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","decisionResult":{"requestId":"synthetic-identity-0355","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.71}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0356","emittedAt":"2000-01-01T00:00:32Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"41","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","decisionRequest":{"requestId":"synthetic-identity-0355","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 165\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 166\",\"ec502a90451aaadd5\":\"Synthetic fixture value 167\",\"defer\":\"Synthetic fixture value 168\",\"new\":\"Synthetic fixture value 169\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0357","emittedAt":"2000-01-01T00:00:33Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"42","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","decisionResult":{"requestId":"synthetic-identity-0355","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.71}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0358","emittedAt":"2000-01-01T00:00:34Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"43","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0360","emittedAt":"2000-01-01T00:00:35Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"44","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0359","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 170\",\"include\":\"Synthetic fixture value 171\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 172\",\"include\":\"Synthetic fixture value 173\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 174\",\"include\":\"Synthetic fixture value 175\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 176\",\"defer\":\"Synthetic fixture value 177\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0361","emittedAt":"2000-01-01T00:00:36Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"45","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0359","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.2}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0360","emittedAt":"2000-01-01T00:00:35Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"44","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0359","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 170\",\"include\":\"Synthetic fixture value 171\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 172\",\"include\":\"Synthetic fixture value 173\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 174\",\"include\":\"Synthetic fixture value 175\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 176\",\"defer\":\"Synthetic fixture value 177\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0361","emittedAt":"2000-01-01T00:00:36Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"45","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0359","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.2}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0362","emittedAt":"2000-01-01T00:00:37Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"46","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0363","emittedAt":"2000-01-01T00:00:37Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"47","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8721ba1c298b4c4aafd8a80cf6a5f0c15bc94ed3faa10c17c6af7e57dfb6e848","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0365","emittedAt":"2000-01-01T00:00:37Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"48","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","decisionRequest":{"requestId":"synthetic-identity-0364","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 178\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 179\",\"ec502a90451aaadd5\":\"Synthetic fixture value 180\",\"defer\":\"Synthetic fixture value 181\",\"new\":\"Synthetic fixture value 182\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 183\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 184\",\"ec502a90451aaadd5\":\"Synthetic fixture value 185\",\"defer\":\"Synthetic fixture value 186\",\"new\":\"Synthetic fixture value 187\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0366","emittedAt":"2000-01-01T00:00:38Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"49","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","decisionResult":{"requestId":"synthetic-identity-0364","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.75},"claim1":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.78}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0365","emittedAt":"2000-01-01T00:00:37Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"48","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","decisionRequest":{"requestId":"synthetic-identity-0364","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 178\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 179\",\"ec502a90451aaadd5\":\"Synthetic fixture value 180\",\"defer\":\"Synthetic fixture value 181\",\"new\":\"Synthetic fixture value 182\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 183\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 184\",\"ec502a90451aaadd5\":\"Synthetic fixture value 185\",\"defer\":\"Synthetic fixture value 186\",\"new\":\"Synthetic fixture value 187\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0366","emittedAt":"2000-01-01T00:00:38Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"49","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","decisionResult":{"requestId":"synthetic-identity-0364","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.75},"claim1":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.78}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0367","emittedAt":"2000-01-01T00:00:39Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"50","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0369","emittedAt":"2000-01-01T00:00:39Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"51","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0368","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 188\",\"include\":\"Synthetic fixture value 189\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 190\",\"include\":\"Synthetic fixture value 191\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 192\",\"include\":\"Synthetic fixture value 193\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 194\",\"defer\":\"Synthetic fixture value 195\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0369","emittedAt":"2000-01-01T00:00:39Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"51","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0368","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 188\",\"include\":\"Synthetic fixture value 189\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 190\",\"include\":\"Synthetic fixture value 191\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 192\",\"include\":\"Synthetic fixture value 193\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 194\",\"defer\":\"Synthetic fixture value 195\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0371","emittedAt":"2000-01-01T00:00:40Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"52","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0370","boundaryId":"86442c06f3c091fef6c12026423851f3687b2aafb668debfe39e7a9359f6d53a","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0372","emittedAt":"2000-01-01T00:00:41Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"53","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0368","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.17}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0372","emittedAt":"2000-01-01T00:00:41Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"53","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0368","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.17}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0373","emittedAt":"2000-01-01T00:00:42Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"54","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0374","emittedAt":"2000-01-01T00:00:42Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"55","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"8b45fbc02e00b953f1be8ba4d7ad1a3d26d0ba2ec234e38919594780f8aa85ab","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0376","emittedAt":"2000-01-01T00:00:42Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"56","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","decisionRequest":{"requestId":"synthetic-identity-0375","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 196\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 197\",\"ec502a90451aaadd5\":\"Synthetic fixture value 198\",\"defer\":\"Synthetic fixture value 199\",\"new\":\"Synthetic fixture value 200\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0377","emittedAt":"2000-01-01T00:00:43Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"57","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","decisionResult":{"requestId":"synthetic-identity-0375","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.67}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0376","emittedAt":"2000-01-01T00:00:42Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"56","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","decisionRequest":{"requestId":"synthetic-identity-0375","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 196\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 197\",\"ec502a90451aaadd5\":\"Synthetic fixture value 198\",\"defer\":\"Synthetic fixture value 199\",\"new\":\"Synthetic fixture value 200\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0377","emittedAt":"2000-01-01T00:00:43Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"57","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","decisionResult":{"requestId":"synthetic-identity-0375","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.67}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0378","emittedAt":"2000-01-01T00:00:44Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"58","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0380","emittedAt":"2000-01-01T00:00:45Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"59","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0379","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 201\",\"include\":\"Synthetic fixture value 202\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 203\",\"include\":\"Synthetic fixture value 204\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 205\",\"include\":\"Synthetic fixture value 206\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 207\",\"defer\":\"Synthetic fixture value 208\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0381","emittedAt":"2000-01-01T00:00:46Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"60","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0379","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.15}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0380","emittedAt":"2000-01-01T00:00:45Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"59","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0379","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 201\",\"include\":\"Synthetic fixture value 202\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 203\",\"include\":\"Synthetic fixture value 204\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 205\",\"include\":\"Synthetic fixture value 206\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 207\",\"defer\":\"Synthetic fixture value 208\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0381","emittedAt":"2000-01-01T00:00:46Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"60","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0379","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.15}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0382","emittedAt":"2000-01-01T00:00:47Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"61","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0383","emittedAt":"2000-01-01T00:00:47Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"62","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"73531670ef05cdaf36a634bc937265f4b77f64e78fcfce13c842dfd81acb237a","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0385","emittedAt":"2000-01-01T00:00:47Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"63","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","decisionRequest":{"requestId":"synthetic-identity-0384","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 209\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 210\",\"ec502a90451aaadd5\":\"Synthetic fixture value 211\",\"defer\":\"Synthetic fixture value 212\",\"new\":\"Synthetic fixture value 213\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0386","emittedAt":"2000-01-01T00:00:48Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"64","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","decisionResult":{"requestId":"synthetic-identity-0384","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.57}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0385","emittedAt":"2000-01-01T00:00:47Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"63","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","decisionRequest":{"requestId":"synthetic-identity-0384","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 209\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 210\",\"ec502a90451aaadd5\":\"Synthetic fixture value 211\",\"defer\":\"Synthetic fixture value 212\",\"new\":\"Synthetic fixture value 213\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0386","emittedAt":"2000-01-01T00:00:48Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"64","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","decisionResult":{"requestId":"synthetic-identity-0384","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.57}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0387","emittedAt":"2000-01-01T00:00:49Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"65","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0389","emittedAt":"2000-01-01T00:00:50Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"66","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0388","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 214\",\"include\":\"Synthetic fixture value 215\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 216\",\"include\":\"Synthetic fixture value 217\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 218\",\"include\":\"Synthetic fixture value 219\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 220\",\"defer\":\"Synthetic fixture value 221\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0389","emittedAt":"2000-01-01T00:00:50Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"66","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0388","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 214\",\"include\":\"Synthetic fixture value 215\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 216\",\"include\":\"Synthetic fixture value 217\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 218\",\"include\":\"Synthetic fixture value 219\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 220\",\"defer\":\"Synthetic fixture value 221\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0391","emittedAt":"2000-01-01T00:00:51Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"67","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","segmentId":"synthetic-identity-0390","boundaryId":"1c2d4d5447617e34a0785f61acd535bec54e12eb22efdd94818df2579b288e52","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0392","emittedAt":"2000-01-01T00:00:52Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"68","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0388","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.16}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0392","emittedAt":"2000-01-01T00:00:52Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"68","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0388","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.16}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0393","emittedAt":"2000-01-01T00:00:53Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"69","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0394","emittedAt":"2000-01-01T00:00:53Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"70","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"c8564bcd658a42b4cab131bd5929db0cdf64eb60bbec02fcde7f0d8069b29aee","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0396","emittedAt":"2000-01-01T00:00:53Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"71","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","decisionRequest":{"requestId":"synthetic-identity-0395","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 222\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 223\",\"ec502a90451aaadd5\":\"Synthetic fixture value 224\",\"defer\":\"Synthetic fixture value 225\",\"new\":\"Synthetic fixture value 226\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0397","emittedAt":"2000-01-01T00:00:54Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"72","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","decisionResult":{"requestId":"synthetic-identity-0395","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.4}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0396","emittedAt":"2000-01-01T00:00:53Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"71","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","decisionRequest":{"requestId":"synthetic-identity-0395","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 222\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 223\",\"ec502a90451aaadd5\":\"Synthetic fixture value 224\",\"defer\":\"Synthetic fixture value 225\",\"new\":\"Synthetic fixture value 226\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0397","emittedAt":"2000-01-01T00:00:54Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"72","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","decisionResult":{"requestId":"synthetic-identity-0395","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.4}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0398","emittedAt":"2000-01-01T00:00:55Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"73","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0400","emittedAt":"2000-01-01T00:00:56Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"74","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0399","purpose":"jev_reflex","questions":{"1eae434e55c440826":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 227\",\"include\":\"Synthetic fixture value 228\"}"},"8b7f9c05e25286b14":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 229\",\"include\":\"Synthetic fixture value 230\"}"},"ec502a90451aaadd5":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 231\",\"include\":\"Synthetic fixture value 232\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 233\",\"defer\":\"Synthetic fixture value 234\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0401","emittedAt":"2000-01-01T00:00:57Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"75","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0399","purpose":"jev_reflex","answers":{"1eae434e55c440826":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"ec502a90451aaadd5":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"synthetic-identity-0177":{"type":"choice","choice":"synthetic-identity-0177","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.09}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0400","emittedAt":"2000-01-01T00:00:56Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"74","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","decisionRequest":{"requestId":"synthetic-identity-0399","purpose":"jev_reflex","claims":{"1eae434e55c440826":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 227\",\"include\":\"Synthetic fixture value 228\"}}","options":["defer","include"]},"8b7f9c05e25286b14":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 229\",\"include\":\"Synthetic fixture value 230\"}}","options":["defer","include"]},"ec502a90451aaadd5":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 231\",\"include\":\"Synthetic fixture value 232\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 233\",\"defer\":\"Synthetic fixture value 234\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0401","emittedAt":"2000-01-01T00:00:57Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"75","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","decisionResult":{"requestId":"synthetic-identity-0399","purpose":"jev_reflex","evaluations":{"1eae434e55c440826":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"8b7f9c05e25286b14":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":1},"ec502a90451aaadd5":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"synthetic-identity-0177":{"choice":"synthetic-identity-0177","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.09}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0403","emittedAt":"2000-01-01T00:00:58Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"76","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","generation":{"kind":"reflex_llm","state":"started","requestId":"synthetic-identity-0402","requestedEffort":"none"}}}}} {"payload":{"event":{"id":"synthetic-identity-0405","emittedAt":"2000-01-01T00:00:59Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"77","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","generation":{"kind":"compiler_round","state":"started","requestId":"synthetic-identity-0404","attempt":1,"parentRequestId":"synthetic-identity-0402","phase":"compilation"}}}}} {"payload":{"event":{"id":"synthetic-identity-0406","emittedAt":"2000-01-01T00:01:00Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"78","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","generation":{"kind":"compiler_round","state":"finished","output":"[]","elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"cache_miss":"1000","cache_read":"1000","cache_write":"1000"}},"requestId":"synthetic-identity-0404","attempt":1,"parentRequestId":"synthetic-identity-0402","phase":"compilation"}}}}} @@ -161,32 +161,32 @@ {"payload":{"event":{"id":"synthetic-identity-0431","emittedAt":"2000-01-01T00:01:06Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"96","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","claimId":"1eae434e55c440826","generation":{"kind":"reflex_llm","state":"finished","output":"[]","elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"cache_miss":"1000","cache_read":"1000","cache_write":"1000","requests":"1"}},"requestId":"synthetic-identity-0402","requestedEffort":"none"}}}}} {"payload":{"event":{"id":"synthetic-identity-0432","emittedAt":"2000-01-01T00:01:07Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"97","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","libraryChange":{"state":"reflex_candidate","reflex":{"id":"synthetic-identity-0279","when":"Synthetic fixture when 235","decide":"Use the synthetic fixture inputs and defer when they are absent.","observe":"js:function(context, args) {\n args = args || {};\n var missing = [];\n if (!args.url) missing.push(\"url\");\n if (!args.session) missing.push(\"session\");\n if (!args.term) missing.push(\"term\");\n if (!args.input_selector) missing.push(\"input_selector\");\n if (!args.submit_selector) missing.push(\"submit_selector\");\n if (missing.length) return {defer: \"missing current arguments\", parameters: \"url, session, term, input_selector, submit_selector\"};\n var session = args.session;\n var term = String(args.term);\n var inSel = String(args.input_selector);\n var btnSel = String(args.submit_selector);\n var prefix = (args.receipt_prefix == null) ? \"Receipt: \" : String(args.receipt_prefix);\n\n function snap(data) {\n if (!data || !data.elements) return null;\n return data.elements;\n }\n function findIdx(elements) {\n if (!elements) return -1;\n for (var i = 0; i < elements.length; i++) {\n var t = elements[i].text;\n if (t && t.indexOf(prefix) === 0) return i;\n }\n return -1;\n }\n function reportFor(elements, hostCall) {\n var idx = findIdx(elements);\n if (idx < 0) return null;\n return {report: {evidence: hostCall, path: [\"data\", \"elements\", idx, \"text\"]}};\n }\n\n var hostCall = null;\n var elements = null;\n var opened = false;\n var filled = false;\n var clicked = false;\n var anySnapshot = false;\n var postClickSnapshot = false;\n\n var hist = context.history || [];\n for (var h = 0; h < hist.length; h++) {\n var rec = hist[h];\n if (rec.name !== \"bash\") continue;\n var av = (rec.decoded_argv || []).slice();\n if (av[0] !== \"playwright\") continue;\n var sub = av[1];\n if (sub === \"open\" && av[2] === args.url && av.indexOf(\"--session\") >= 0) { opened = true; }\n if (sub === \"fill\" && av[2] === session && av[3] === inSel && av[4] === term) { filled = true; }\n if (sub === \"click\" && av[2] === session && av[3] === btnSel) { clicked = true; }\n if (sub === \"snapshot\" && av[2] === session && rec.data) {\n elements = snap(rec.data);\n if (rec.call_id) hostCall = rec.call_id;\n anySnapshot = true;\n if (clicked) postClickSnapshot = true;\n }\n }\n\n if (clicked && postClickSnapshot && elements) {\n var done = reportFor(elements, hostCall);\n if (done) return done;\n }\n\n if (!opened) {\n var o = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"open\", args.url, \"--session\", session])}, read: false, step: \"open\", occurrence: 0});\n if (o && o.is_error) return {defer: \"open failed: \" + (o.text || \"unknown\")};\n }\n\n if (!anySnapshot) {\n var s1 = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"snapshot\", session, \"--json\"])}, read: true});\n if (s1 && s1.call_id) hostCall = s1.call_id;\n elements = snap(s1 && s1.data);\n }\n\n if (!filled) {\n var f = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"fill\", session, inSel, term])}, read: false, step: \"fill\", occurrence: 0});\n if (f && f.is_error) return {defer: \"fill failed: \" + (f.text || \"unknown\")};\n }\n\n if (!clicked) {\n var c = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"click\", session, btnSel])}, read: false, step: \"click\", occurrence: 0});\n if (c && c.is_error) return {defer: \"click failed: \" + (c.text || \"unknown\")};\n }\n\n if (!postClickSnapshot) {\n var s2 = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"snapshot\", session, \"--json\"])}, read: true});\n if (s2 && s2.call_id) hostCall = s2.call_id;\n var e2 = snap(s2 && s2.data);\n var p2 = reportFor(e2, hostCall);\n if (p2) return p2;\n }\n return {defer: \"receipt not yet visible after submit\"};\n}","claimIds":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5"],"contracts":{"command:experiment":"abe25c89e23db76babe27845dc50808e179376d3e568d08bc7f62aa3c2d4b4be","command:jev":"9729b785e09bd242c2b73d15a336408ff05ee574472ae60963d071215585f4c2","command:playwright":"6a0b9da4a4cd5c8b6dce0937b4f0061c196ecfa2f4ab237cca4f3dd65743489a","helpers":"98aa22757269c3f695b8e3254b3cba7af0f196d29e5e05db58821ec7e43533db","tool:bash":"2efbb2e0f82e04e8fa7e605121b300db09945e5fb0624a2c25a7478d900599af"},"apiVersion":2,"qualificationJson":"null","manifestJson":"{\"parameters_schema\":null,\"steps\":{\"click\":{\"contract\":\"playwright\",\"count\":1},\"fill\":{\"contract\":\"playwright\",\"count\":1}}}","blocker":"Synthetic validation failure."},"reason":"Synthetic validation failure."}}}}} {"payload":{"event":{"id":"synthetic-identity-0433","emittedAt":"2000-01-01T00:01:07Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"98","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"e15613e101978f54b1af8584b8f47d433b0233ee240856a665fefa2864f8fbdc","libraryChange":{"state":"failed","reason":"Synthetic validation failure."}}}}} -{"payload":{"event":{"id":"synthetic-identity-0435","emittedAt":"2000-01-01T00:01:08Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"99","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"06317c116e381ea87b4bf090f4e6c90434d3b4908a71402c7152b099b3287286","decisionRequest":{"requestId":"synthetic-identity-0434","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"1eae434e55c440826\":\"Synthetic fixture value 236\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 237\",\"ec502a90451aaadd5\":\"Synthetic fixture value 238\",\"defer\":\"Synthetic fixture value 239\",\"new\":\"Synthetic fixture value 240\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0436","emittedAt":"2000-01-01T00:01:09Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"100","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"06317c116e381ea87b4bf090f4e6c90434d3b4908a71402c7152b099b3287286","decisionResult":{"requestId":"synthetic-identity-0434","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.27}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0435","emittedAt":"2000-01-01T00:01:08Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"99","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"06317c116e381ea87b4bf090f4e6c90434d3b4908a71402c7152b099b3287286","decisionRequest":{"requestId":"synthetic-identity-0434","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"1eae434e55c440826\":\"Synthetic fixture value 236\",\"8b7f9c05e25286b14\":\"Synthetic fixture value 237\",\"ec502a90451aaadd5\":\"Synthetic fixture value 238\",\"defer\":\"Synthetic fixture value 239\",\"new\":\"Synthetic fixture value 240\"}}","options":["1eae434e55c440826","8b7f9c05e25286b14","ec502a90451aaadd5","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0436","emittedAt":"2000-01-01T00:01:09Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"100","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"06317c116e381ea87b4bf090f4e6c90434d3b4908a71402c7152b099b3287286","decisionResult":{"requestId":"synthetic-identity-0434","purpose":"jev_claim","evaluations":{"claim0":{"choice":"1eae434e55c440826","probabilities":{"1eae434e55c440826":0.5,"8b7f9c05e25286b14":0.5,"ec502a90451aaadd5":0.5,"defer":0.5,"new":0.5},"confidence":0.27}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0437","emittedAt":"2000-01-01T00:01:10Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"101","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"06317c116e381ea87b4bf090f4e6c90434d3b4908a71402c7152b099b3287286","claimId":"1eae434e55c440826","libraryChange":{"state":"deferred","reason":"Synthetic validation failure."}}}}} {"payload":{"event":{"id":"synthetic-identity-0438","emittedAt":"2000-01-01T00:01:10Z","sessionId":"synthetic-identity-0268","turnId":"synthetic-identity-0176","emitter":"jev","seq":"102","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"affa5bbdcd4df8cfeae22a794895c09155ea1a21b64db12489857bcc7bb7d408","background":true,"boundaryId":"06317c116e381ea87b4bf090f4e6c90434d3b4908a71402c7152b099b3287286","libraryChange":{"state":"settled"}}}}} {"payload":{"event":{"id":"synthetic-identity-0530","emittedAt":"2000-01-01T00:01:55Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"1","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","segmentId":"synthetic-identity-0529","boundaryId":"c62b28944868eca92897309a73604df1cc0d6fdd0237024e0204ecdb5f7c314d","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0532","emittedAt":"2000-01-01T00:01:56Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"2","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","decisionRequest":{"requestId":"synthetic-identity-0531","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"50759353ece00982e\":\"Synthetic fixture value 241\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 242\",\"defer\":\"Synthetic fixture value 243\",\"new\":\"Synthetic fixture value 244\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0533","emittedAt":"2000-01-01T00:01:57Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"3","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","decisionResult":{"requestId":"synthetic-identity-0531","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.36}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0532","emittedAt":"2000-01-01T00:01:56Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"2","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","decisionRequest":{"requestId":"synthetic-identity-0531","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 241\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 242\",\"defer\":\"Synthetic fixture value 243\",\"new\":\"Synthetic fixture value 244\"}}","options":["50759353ece00982e","f1cd4cfc8eb6f9617","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0533","emittedAt":"2000-01-01T00:01:57Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"3","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","decisionResult":{"requestId":"synthetic-identity-0531","purpose":"jev_claim","evaluations":{"claim0":{"choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.36}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0534","emittedAt":"2000-01-01T00:01:58Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"4","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","claimId":"f1cd4cfc8eb6f9617","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0536","emittedAt":"2000-01-01T00:01:59Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"5","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","claimId":"f1cd4cfc8eb6f9617","decisionRequest":{"requestId":"synthetic-identity-0535","purpose":"jev_reflex","questions":{"50759353ece00982e":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 245\",\"include\":\"Synthetic fixture value 246\"}"},"f1cd4cfc8eb6f9617":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 247\",\"include\":\"Synthetic fixture value 248\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 249\",\"defer\":\"Synthetic fixture value 250\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0537","emittedAt":"2000-01-01T00:02:00Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"6","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","claimId":"f1cd4cfc8eb6f9617","decisionResult":{"requestId":"synthetic-identity-0535","purpose":"jev_reflex","answers":{"50759353ece00982e":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"f1cd4cfc8eb6f9617":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.75}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0536","emittedAt":"2000-01-01T00:01:59Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"5","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","claimId":"f1cd4cfc8eb6f9617","decisionRequest":{"requestId":"synthetic-identity-0535","purpose":"jev_reflex","claims":{"50759353ece00982e":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 245\",\"include\":\"Synthetic fixture value 246\"}}","options":["defer","include"]},"f1cd4cfc8eb6f9617":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 247\",\"include\":\"Synthetic fixture value 248\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 249\",\"defer\":\"Synthetic fixture value 250\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0537","emittedAt":"2000-01-01T00:02:00Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"6","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","claimId":"f1cd4cfc8eb6f9617","decisionResult":{"requestId":"synthetic-identity-0535","purpose":"jev_reflex","evaluations":{"50759353ece00982e":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"f1cd4cfc8eb6f9617":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.98},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.75}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0538","emittedAt":"2000-01-01T00:02:01Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"7","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","claimId":"f1cd4cfc8eb6f9617","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0539","emittedAt":"2000-01-01T00:02:01Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"8","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"d68b12c05a890264c242b8ea9d6cd06e78e7620014d1bee558f2fa2e081b847d","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0541","emittedAt":"2000-01-01T00:02:02Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"9","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","decisionRequest":{"requestId":"synthetic-identity-0540","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"50759353ece00982e\":\"Synthetic fixture value 251\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 252\",\"defer\":\"Synthetic fixture value 253\",\"new\":\"Synthetic fixture value 254\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"50759353ece00982e\":\"Synthetic fixture value 255\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 256\",\"defer\":\"Synthetic fixture value 257\",\"new\":\"Synthetic fixture value 258\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0541","emittedAt":"2000-01-01T00:02:02Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"9","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","decisionRequest":{"requestId":"synthetic-identity-0540","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 251\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 252\",\"defer\":\"Synthetic fixture value 253\",\"new\":\"Synthetic fixture value 254\"}}","options":["50759353ece00982e","f1cd4cfc8eb6f9617","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 255\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 256\",\"defer\":\"Synthetic fixture value 257\",\"new\":\"Synthetic fixture value 258\"}}","options":["50759353ece00982e","f1cd4cfc8eb6f9617","defer","new"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0543","emittedAt":"2000-01-01T00:02:03Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"10","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","segmentId":"synthetic-identity-0542","boundaryId":"8cc1ae9b763dc05a3551255d7feeb9299a028483a902c3e66f29ddeda8728749","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0544","emittedAt":"2000-01-01T00:02:04Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"11","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","decisionResult":{"requestId":"synthetic-identity-0540","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.75},"claim1":{"type":"choice","choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.78}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0544","emittedAt":"2000-01-01T00:02:04Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"11","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","decisionResult":{"requestId":"synthetic-identity-0540","purpose":"jev_claim","evaluations":{"claim0":{"choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.75},"claim1":{"choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.78}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0545","emittedAt":"2000-01-01T00:02:05Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"12","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","claimId":"f1cd4cfc8eb6f9617","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0547","emittedAt":"2000-01-01T00:02:06Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"13","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","claimId":"f1cd4cfc8eb6f9617","decisionRequest":{"requestId":"synthetic-identity-0546","purpose":"jev_reflex","questions":{"50759353ece00982e":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 259\",\"include\":\"Synthetic fixture value 260\"}"},"f1cd4cfc8eb6f9617":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 261\",\"include\":\"Synthetic fixture value 262\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 263\",\"defer\":\"Synthetic fixture value 264\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0548","emittedAt":"2000-01-01T00:02:07Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"14","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","claimId":"f1cd4cfc8eb6f9617","decisionResult":{"requestId":"synthetic-identity-0546","purpose":"jev_reflex","answers":{"50759353ece00982e":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"f1cd4cfc8eb6f9617":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.97},"synthetic-identity-0177":{"type":"choice","choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.34}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0547","emittedAt":"2000-01-01T00:02:06Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"13","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","claimId":"f1cd4cfc8eb6f9617","decisionRequest":{"requestId":"synthetic-identity-0546","purpose":"jev_reflex","claims":{"50759353ece00982e":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 259\",\"include\":\"Synthetic fixture value 260\"}}","options":["defer","include"]},"f1cd4cfc8eb6f9617":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 261\",\"include\":\"Synthetic fixture value 262\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 263\",\"defer\":\"Synthetic fixture value 264\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0548","emittedAt":"2000-01-01T00:02:07Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"14","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","claimId":"f1cd4cfc8eb6f9617","decisionResult":{"requestId":"synthetic-identity-0546","purpose":"jev_reflex","evaluations":{"50759353ece00982e":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"f1cd4cfc8eb6f9617":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.97},"synthetic-identity-0177":{"choice":"defer","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.34}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0549","emittedAt":"2000-01-01T00:02:08Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"15","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","claimId":"f1cd4cfc8eb6f9617","libraryChange":{"state":"deferred"}}}}} {"payload":{"event":{"id":"synthetic-identity-0550","emittedAt":"2000-01-01T00:02:09Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"16","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"7dcf4ea8737b0751121f248e74a3a73cb5a5a529301a5a7bb4c9308d1a02ca27","libraryChange":{"state":"settled"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0552","emittedAt":"2000-01-01T00:02:10Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"17","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","decisionRequest":{"requestId":"synthetic-identity-0551","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"50759353ece00982e\":\"Synthetic fixture value 265\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 266\",\"defer\":\"Synthetic fixture value 267\",\"new\":\"Synthetic fixture value 268\"}"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0552","emittedAt":"2000-01-01T00:02:10Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"17","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","decisionRequest":{"requestId":"synthetic-identity-0551","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 265\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 266\",\"defer\":\"Synthetic fixture value 267\",\"new\":\"Synthetic fixture value 268\"}}","options":["50759353ece00982e","f1cd4cfc8eb6f9617","defer","new"]}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0554","emittedAt":"2000-01-01T00:02:11Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"18","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","segmentId":"synthetic-identity-0553","boundaryId":"2d88e26b506365516000392616ba86c0bbf6a7482f8dd1a1c4270b7a2465826b","boundary":{"reason":"no_reflex"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0555","emittedAt":"2000-01-01T00:02:12Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"19","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","decisionResult":{"requestId":"synthetic-identity-0551","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.74}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0555","emittedAt":"2000-01-01T00:02:12Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"19","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","decisionResult":{"requestId":"synthetic-identity-0551","purpose":"jev_claim","evaluations":{"claim0":{"choice":"f1cd4cfc8eb6f9617","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.74}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0556","emittedAt":"2000-01-01T00:02:13Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"20","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","libraryChange":{"state":"compiling"}}}}} -{"payload":{"event":{"id":"synthetic-identity-0558","emittedAt":"2000-01-01T00:02:14Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"21","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","decisionRequest":{"requestId":"synthetic-identity-0557","purpose":"jev_reflex","questions":{"50759353ece00982e":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 269\",\"include\":\"Synthetic fixture value 270\"}"},"f1cd4cfc8eb6f9617":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"defer\":\"Synthetic fixture value 271\",\"include\":\"Synthetic fixture value 272\"}"},"synthetic-identity-0177":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"synthetic-identity-0177\":\"Synthetic fixture value 273\",\"defer\":\"Synthetic fixture value 274\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0559","emittedAt":"2000-01-01T00:02:15Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"22","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","decisionResult":{"requestId":"synthetic-identity-0557","purpose":"jev_reflex","answers":{"50759353ece00982e":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"f1cd4cfc8eb6f9617":{"type":"choice","choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"synthetic-identity-0177":{"type":"choice","choice":"synthetic-identity-0177","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.14}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0558","emittedAt":"2000-01-01T00:02:14Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"21","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","decisionRequest":{"requestId":"synthetic-identity-0557","purpose":"jev_reflex","claims":{"50759353ece00982e":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 269\",\"include\":\"Synthetic fixture value 270\"}}","options":["defer","include"]},"f1cd4cfc8eb6f9617":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 271\",\"include\":\"Synthetic fixture value 272\"}}","options":["defer","include"]},"synthetic-identity-0177":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 273\",\"defer\":\"Synthetic fixture value 274\"}}","options":["synthetic-identity-0177","defer"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0559","emittedAt":"2000-01-01T00:02:15Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"22","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","decisionResult":{"requestId":"synthetic-identity-0557","purpose":"jev_reflex","evaluations":{"50759353ece00982e":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"f1cd4cfc8eb6f9617":{"choice":"include","probabilities":{"defer":0.5,"include":0.5},"confidence":0.99},"synthetic-identity-0177":{"choice":"synthetic-identity-0177","probabilities":{"synthetic-identity-0177":0.5,"defer":0.5},"confidence":0.14}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0561","emittedAt":"2000-01-01T00:02:16Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"23","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","generation":{"kind":"reflex_llm","state":"started","requestId":"synthetic-identity-0560","requestedEffort":"none"}}}}} {"payload":{"event":{"id":"synthetic-identity-0563","emittedAt":"2000-01-01T00:02:16Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"24","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","generation":{"kind":"compiler_round","state":"started","requestId":"synthetic-identity-0562","attempt":1,"parentRequestId":"synthetic-identity-0560","phase":"compilation"}}}}} {"payload":{"event":{"id":"synthetic-identity-0565","emittedAt":"2000-01-01T00:02:17Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"25","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","segmentId":"synthetic-identity-0564","boundaryId":"3c70e5113c529abcda6bce229039af502bf3ed8b5d3266e7d70794b41e6bf668","boundary":{"reason":"no_reflex"}}}}} @@ -213,7 +213,7 @@ {"payload":{"event":{"id":"synthetic-identity-0594","emittedAt":"2000-01-01T00:02:26Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"46","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","claimId":"f1cd4cfc8eb6f9617","generation":{"kind":"reflex_llm","state":"finished","elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"cache_miss":"1000","cache_read":"1000","cache_write":"1000","requests":"1"}},"requestId":"synthetic-identity-0560","requestedEffort":"none"}}}}} {"payload":{"event":{"id":"synthetic-identity-0595","emittedAt":"2000-01-01T00:02:27Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"47","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"a150c9b7f5f25767ec4a8e39be5303bab475afed882bafe065f83ef28c68e09c","libraryChange":{"state":"reflex_candidate","reflex":{"id":"synthetic-identity-0275","when":"Synthetic fixture when 275","decide":"Use the synthetic fixture inputs and defer when they are absent.","observe":"js:function(context, args) {\n args = args || {};\n var missing = [];\n if (!args.url) missing.push(\"url\");\n if (!args.session) missing.push(\"session\");\n if (!args.term) missing.push(\"term\");\n if (!args.input_selector) missing.push(\"input_selector\");\n if (!args.submit_selector) missing.push(\"submit_selector\");\n if (missing.length) return {defer: \"missing current arguments\", parameters: \"url, session, term, input_selector, submit_selector\"};\n var session = args.session;\n var term = String(args.term);\n var inSel = String(args.input_selector);\n var btnSel = String(args.submit_selector);\n var prefix = (args.receipt_prefix == null) ? \"Receipt: \" : String(args.receipt_prefix);\n\n function snap(data) {\n if (!data || !data.elements) return null;\n return data.elements;\n }\n function findIdx(elements) {\n if (!elements) return -1;\n for (var i = 0; i < elements.length; i++) {\n var t = elements[i].text;\n if (t && t.indexOf(prefix) === 0) return i;\n }\n return -1;\n }\n function reportFor(elements, hostCall) {\n var idx = findIdx(elements);\n if (idx < 0) return null;\n return {report: {evidence: hostCall, path: [\"data\", \"elements\", idx, \"text\"]}};\n }\n\n var hostCall = null;\n var elements = null;\n var opened = false;\n var filled = false;\n var clicked = false;\n var anySnapshot = false;\n var postClickSnapshot = false;\n\n var hist = context.history || [];\n for (var h = 0; h < hist.length; h++) {\n var rec = hist[h];\n if (rec.name !== \"bash\") continue;\n var av = (rec.decoded_argv || []).slice();\n if (av[0] !== \"playwright\") continue;\n var sub = av[1];\n if (sub === \"open\" && av[2] === args.url && av.indexOf(\"--session\") >= 0) { opened = true; }\n if (sub === \"fill\" && av[2] === session && av[3] === inSel && av[4] === term) { filled = true; }\n if (sub === \"click\" && av[2] === session && av[3] === btnSel) { clicked = true; }\n if (sub === \"snapshot\" && av[2] === session && rec.data) {\n elements = snap(rec.data);\n if (rec.call_id) hostCall = rec.call_id;\n anySnapshot = true;\n if (clicked) postClickSnapshot = true;\n }\n }\n\n if (clicked && postClickSnapshot && elements) {\n var done = reportFor(elements, hostCall);\n if (done) return done;\n }\n\n if (!opened) {\n var o = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"open\", args.url, \"--session\", session])}, read: false, step: \"open\", occurrence: 0});\n if (o && o.is_error) return {defer: \"open failed: \" + (o.text || \"unknown\")};\n }\n\n if (!anySnapshot) {\n var s1 = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"snapshot\", session, \"--json\"])}, read: true});\n if (s1 && s1.call_id) hostCall = s1.call_id;\n elements = snap(s1 && s1.data);\n }\n\n if (!filled) {\n var f = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"fill\", session, inSel, term])}, read: false, step: \"fill\", occurrence: 0});\n if (f && f.is_error) return {defer: \"fill failed: \" + (f.text || \"unknown\")};\n }\n\n if (!clicked) {\n var c = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"click\", session, btnSel])}, read: false, step: \"click\", occurrence: 0});\n if (c && c.is_error) return {defer: \"click failed: \" + (c.text || \"unknown\")};\n }\n\n if (!postClickSnapshot) {\n var s2 = execute({name: \"bash\", arguments: {command: command(\"playwright\", [\"snapshot\", session, \"--json\"])}, read: true});\n if (s2 && s2.call_id) hostCall = s2.call_id;\n var e2 = snap(s2 && s2.data);\n var p2 = reportFor(e2, hostCall);\n if (p2) return p2;\n }\n return {defer: \"receipt not yet visible after submit\"};\n}","claimIds":["50759353ece00982e","f1cd4cfc8eb6f9617"],"contracts":{"command:experiment":"abe25c89e23db76babe27845dc50808e179376d3e568d08bc7f62aa3c2d4b4be","command:jev":"9729b785e09bd242c2b73d15a336408ff05ee574472ae60963d071215585f4c2","command:playwright":"6a0b9da4a4cd5c8b6dce0937b4f0061c196ecfa2f4ab237cca4f3dd65743489a","helpers":"98aa22757269c3f695b8e3254b3cba7af0f196d29e5e05db58821ec7e43533db","tool:bash":"2efbb2e0f82e04e8fa7e605121b300db09945e5fb0624a2c25a7478d900599af"},"apiVersion":2,"qualificationJson":"null","manifestJson":"{\"parameters_schema\":null,\"steps\":{\"append1\":{\"contract\":\"Synthetic fixture value 276\",\"count\":1},\"append2\":{\"contract\":\"Synthetic fixture value 277\",\"count\":1}}}","blocker":"Synthetic validation failure."},"reason":"Synthetic validation failure."}}}}} {"payload":{"event":{"id":"synthetic-identity-0596","emittedAt":"2000-01-01T00:02:27Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"48","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"bf4328c3afea37f1048ae56d7fbc518b0209b9f79d0b32e856d1eb3032a611c2","libraryChange":{"state":"failed","reason":"Synthetic validation failure."}}}}} -{"payload":{"event":{"id":"synthetic-identity-0598","emittedAt":"2000-01-01T00:02:28Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"49","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"c9430801ae31023ddcb10a1c6c37de01e9fcff2598821d2beb96ffa5b0acea77","decisionRequest":{"requestId":"synthetic-identity-0597","purpose":"jev_claim","questions":{"claim0":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"50759353ece00982e\":\"Synthetic fixture value 278\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 279\",\"defer\":\"Synthetic fixture value 280\",\"new\":\"Synthetic fixture value 281\"}"},"claim1":{"type":"choice","instructionsJson":"\"\\\"Synthetic fixture instruction.\\\"\"","criteriaJson":"{\"50759353ece00982e\":\"Synthetic fixture value 282\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 283\",\"defer\":\"Synthetic fixture value 284\",\"new\":\"Synthetic fixture value 285\"}"}}}}}}} -{"payload":{"event":{"id":"synthetic-identity-0599","emittedAt":"2000-01-01T00:02:29Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"50","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"c9430801ae31023ddcb10a1c6c37de01e9fcff2598821d2beb96ffa5b0acea77","decisionResult":{"requestId":"synthetic-identity-0597","purpose":"jev_claim","answers":{"claim0":{"type":"choice","choice":"50759353ece00982e","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.41},"claim1":{"type":"choice","choice":"50759353ece00982e","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.42}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0598","emittedAt":"2000-01-01T00:02:28Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"49","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"c9430801ae31023ddcb10a1c6c37de01e9fcff2598821d2beb96ffa5b0acea77","decisionRequest":{"requestId":"synthetic-identity-0597","purpose":"jev_claim","claims":{"claim0":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 278\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 279\",\"defer\":\"Synthetic fixture value 280\",\"new\":\"Synthetic fixture value 281\"}}","options":["50759353ece00982e","f1cd4cfc8eb6f9617","defer","new"]},"claim1":{"type":"choice","context":"{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"50759353ece00982e\":\"Synthetic fixture value 282\",\"f1cd4cfc8eb6f9617\":\"Synthetic fixture value 283\",\"defer\":\"Synthetic fixture value 284\",\"new\":\"Synthetic fixture value 285\"}}","options":["50759353ece00982e","f1cd4cfc8eb6f9617","defer","new"]}}}}}}} +{"payload":{"event":{"id":"synthetic-identity-0599","emittedAt":"2000-01-01T00:02:29Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"50","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"c9430801ae31023ddcb10a1c6c37de01e9fcff2598821d2beb96ffa5b0acea77","decisionResult":{"requestId":"synthetic-identity-0597","purpose":"jev_claim","evaluations":{"claim0":{"choice":"50759353ece00982e","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.41},"claim1":{"choice":"50759353ece00982e","probabilities":{"50759353ece00982e":0.5,"f1cd4cfc8eb6f9617":0.5,"defer":0.5,"new":0.5},"confidence":0.42}},"elapsedMs":"50","usage":{"inputTokens":"1000","outputTokens":"200","totalTokens":"1200","detail":{"requests":"1","usage_missing":"0"}}}}}}} {"payload":{"event":{"id":"synthetic-identity-0600","emittedAt":"2000-01-01T00:02:30Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"51","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"c9430801ae31023ddcb10a1c6c37de01e9fcff2598821d2beb96ffa5b0acea77","claimId":"50759353ece00982e","libraryChange":{"state":"deferred","reason":"Synthetic validation failure."}}}}} {"payload":{"event":{"id":"synthetic-identity-0601","emittedAt":"2000-01-01T00:02:30Z","sessionId":"synthetic-identity-0269","turnId":"synthetic-identity-0176","emitter":"jev","seq":"52","extension":{"@type":"type.googleapis.com/cyber.jev.RuntimeEvent","taskId":"4363718b9aa6cf876ac83bb72ac9bc98d3a6a9a4926f599e2f9bfc0c3e17e078","background":true,"boundaryId":"c9430801ae31023ddcb10a1c6c37de01e9fcff2598821d2beb96ffa5b0acea77","libraryChange":{"state":"settled"}}}}} diff --git a/web/frontend/e2e/fixtures/jev-history/profile-events.json b/web/frontend/e2e/fixtures/jev-history/profile-events.json index 59be84a53..5f3185bed 100644 --- a/web/frontend/e2e/fixtures/jev-history/profile-events.json +++ b/web/frontend/e2e/fixtures/jev-history/profile-events.json @@ -175,11 +175,14 @@ "decisionRequest": { "requestId": "synthetic-identity-0614", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 287\",\"new\":\"Synthetic fixture value 288\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 287\",\"new\":\"Synthetic fixture value 288\"}}", + "options": [ + "defer", + "new" + ] } } } @@ -344,9 +347,8 @@ "decisionResult": { "requestId": "synthetic-identity-0614", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "new" } }, @@ -608,7 +610,7 @@ "claim": { "id": "74b2ea2e544edc0f5", "sourceTaskId": "7ad8f4389ce999ebc877bab898e5d5449f939e02e8741ede96a55658185bc4a0", - "text": "Synthetic fixture text 292" + "context": "Synthetic fixture text 292" } } } @@ -649,11 +651,15 @@ "decisionRequest": { "requestId": "synthetic-identity-0638", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"74b2ea2e544edc0f5\":\"Synthetic fixture value 293\",\"defer\":\"Synthetic fixture value 294\",\"new\":\"Synthetic fixture value 295\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"74b2ea2e544edc0f5\":\"Synthetic fixture value 293\",\"defer\":\"Synthetic fixture value 294\",\"new\":\"Synthetic fixture value 295\"}}", + "options": [ + "74b2ea2e544edc0f5", + "defer", + "new" + ] } } } @@ -676,9 +682,8 @@ "decisionResult": { "requestId": "synthetic-identity-0638", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "74b2ea2e544edc0f5" } }, @@ -1073,11 +1078,15 @@ "decisionRequest": { "requestId": "synthetic-identity-0663", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"74b2ea2e544edc0f5\":\"Synthetic fixture value 299\",\"defer\":\"Synthetic fixture value 300\",\"new\":\"Synthetic fixture value 301\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"74b2ea2e544edc0f5\":\"Synthetic fixture value 299\",\"defer\":\"Synthetic fixture value 300\",\"new\":\"Synthetic fixture value 301\"}}", + "options": [ + "74b2ea2e544edc0f5", + "defer", + "new" + ] } } } @@ -1177,9 +1186,8 @@ "decisionResult": { "requestId": "synthetic-identity-0663", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "74b2ea2e544edc0f5" } }, @@ -1290,11 +1298,14 @@ "decisionRequest": { "requestId": "synthetic-identity-0674", "purpose": "jev_reflex", - "questions": { + "claims": { "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 303\",\"defer\":\"Synthetic fixture value 304\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 303\",\"defer\":\"Synthetic fixture value 304\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -1318,9 +1329,8 @@ "decisionResult": { "requestId": "synthetic-identity-0674", "purpose": "jev_reflex", - "answers": { + "evaluations": { "synthetic-identity-0177": { - "type": "choice", "choice": "synthetic-identity-0177" } }, @@ -1492,26 +1502,38 @@ "decisionRequest": { "requestId": "synthetic-identity-0685", "purpose": "jev_reflex", - "questions": { + "claims": { "synthetic-identity-0177": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 305\",\"defer\":\"Synthetic fixture value 306\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 305\",\"defer\":\"Synthetic fixture value 306\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] }, "coverage0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 307\",\"defer\":\"Synthetic fixture value 308\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 307\",\"defer\":\"Synthetic fixture value 308\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] }, "coverage_freshness": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 309\",\"defer\":\"Synthetic fixture value 310\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 309\",\"defer\":\"Synthetic fixture value 310\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] }, "coverage_result": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"synthetic-identity-0177\":\"Synthetic fixture value 311\",\"defer\":\"Synthetic fixture value 312\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"synthetic-identity-0177\":\"Synthetic fixture value 311\",\"defer\":\"Synthetic fixture value 312\"}}", + "options": [ + "synthetic-identity-0177", + "defer" + ] } } } @@ -1535,21 +1557,17 @@ "decisionResult": { "requestId": "synthetic-identity-0685", "purpose": "jev_reflex", - "answers": { + "evaluations": { "synthetic-identity-0177": { - "type": "choice", "choice": "synthetic-identity-0177" }, "coverage0": { - "type": "choice", "choice": "synthetic-identity-0177" }, "coverage_freshness": { - "type": "choice", "choice": "synthetic-identity-0177" }, "coverage_result": { - "type": "choice", "choice": "synthetic-identity-0177" } }, @@ -1665,11 +1683,16 @@ "decisionRequest": { "requestId": "synthetic-identity-0691", "purpose": "jev_claim", - "questions": { + "claims": { "claim0": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"74b2ea2e544edc0f5\":\"Synthetic fixture value 314\",\"defer\":\"Synthetic fixture value 315\",\"new\":\"Synthetic fixture value 316\",\"synthetic-identity-0273\":\"Synthetic fixture value 317\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"74b2ea2e544edc0f5\":\"Synthetic fixture value 314\",\"defer\":\"Synthetic fixture value 315\",\"new\":\"Synthetic fixture value 316\",\"synthetic-identity-0273\":\"Synthetic fixture value 317\"}}", + "options": [ + "74b2ea2e544edc0f5", + "defer", + "new", + "synthetic-identity-0273" + ] } } } @@ -1692,9 +1715,8 @@ "decisionResult": { "requestId": "synthetic-identity-0691", "purpose": "jev_claim", - "answers": { + "evaluations": { "claim0": { - "type": "choice", "choice": "74b2ea2e544edc0f5" } }, @@ -1837,11 +1859,14 @@ "decisionRequest": { "requestId": "synthetic-identity-0701", "purpose": "jev_execution", - "questions": { + "claims": { "entry": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"defer\":\"Synthetic fixture value 319\",\"synthetic-identity-0273\":\"Synthetic fixture value 320\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"defer\":\"Synthetic fixture value 319\",\"synthetic-identity-0273\":\"Synthetic fixture value 320\"}}", + "options": [ + "defer", + "synthetic-identity-0273" + ] } } } @@ -1864,9 +1889,8 @@ "decisionResult": { "requestId": "synthetic-identity-0701", "purpose": "jev_execution", - "answers": { + "evaluations": { "entry": { - "type": "choice", "choice": "synthetic-identity-0273" } }, @@ -1938,11 +1962,14 @@ "decisionRequest": { "requestId": "synthetic-identity-0705", "purpose": "jev_binding", - "questions": { + "claims": { "binding": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"accept\":\"Synthetic fixture value 322\",\"defer\":\"Synthetic fixture value 323\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"accept\":\"Synthetic fixture value 322\",\"defer\":\"Synthetic fixture value 323\"}}", + "options": [ + "accept", + "defer" + ] } } } @@ -1967,9 +1994,8 @@ "decisionResult": { "requestId": "synthetic-identity-0705", "purpose": "jev_binding", - "answers": { + "evaluations": { "binding": { - "type": "choice", "choice": "accept" } }, @@ -2235,11 +2261,14 @@ "decisionRequest": { "requestId": "synthetic-identity-0720", "purpose": "jev_completion", - "questions": { + "claims": { "completion": { "type": "choice", - "instructionsJson": "\"\\\"Synthetic fixture instruction.\\\"\"", - "criteriaJson": "{\"accept\":\"Synthetic fixture value 326\",\"defer\":\"Synthetic fixture value 327\"}" + "context": "{\"instructions\":\"\\\"Synthetic fixture instruction.\\\"\",\"criteria\":{\"accept\":\"Synthetic fixture value 326\",\"defer\":\"Synthetic fixture value 327\"}}", + "options": [ + "accept", + "defer" + ] } } } @@ -2265,9 +2294,8 @@ "decisionResult": { "requestId": "synthetic-identity-0720", "purpose": "jev_completion", - "answers": { + "evaluations": { "completion": { - "type": "choice", "choice": "accept" } },