From ce2b22bee4d9f6bcd0314d2f0904772f40e65d21 Mon Sep 17 00:00:00 2001 From: lihongguang-0014 Date: Mon, 31 Aug 2026 15:59:52 +0800 Subject: [PATCH] Simplify bundled skill catalog and routing --- .github/scripts/plan_ci.py | 11 +- .github/scripts/windows_test_assignments.json | 14 +- .github/scripts/windows_test_durations.json | 12 +- THIRD_PARTY_NOTICES.md | 37 - docs/evidence/skill-simplification/README.md | 107 + docs/evidence/skill-simplification/raw.csv | 167 + docs/evidence/skill-simplification/raw.json | 9275 +++++++++++++++++ .../skill-simplification/summary.json | 615 ++ .../adapters/gateway/gatewayAdapters.test.ts | 1 + .../src/adapters/gateway/gatewayAdapters.ts | 4 + .../gateway/metaSkillCatalogV4.test.ts | 30 + .../adapters/gateway/metaSkillCatalogV4.ts | 25 + .../skills/SkillGroup.lifecycle.test.ts | 23 +- .../skills/useSkillDetailController.test.ts | 42 +- .../skills/useSkillDetailController.ts | 14 + .../composables/skills/useSkillsCatalog.ts | 22 +- opensquilla-webui/src/main.ts | 2 + .../src/modules/metaSkillCatalog.ts | 21 + opensquilla-webui/src/types/skills.ts | 16 + opensquilla-webui/src/utils/skillIcons.ts | 17 - opensquilla-webui/src/views/SkillsView.vue | 11 +- opensquilla.toml.example | 15 - scripts/_gen_meta_short_drama.py | 4 +- ...ive_meta_skill_creator_auto_propose_e2e.py | 8 +- scripts/live_meta_skill_creator_e2e.py | 10 +- scripts/skill_simplification_ab.py | 1558 +++ src/opensquilla/engine/agent.py | 2459 ++--- src/opensquilla/engine/pipeline.py | 12 +- src/opensquilla/engine/runtime.py | 935 +- src/opensquilla/engine/steps/__init__.py | 4 +- src/opensquilla/engine/steps/coding_mode.py | 6 +- .../engine/steps/meta_resolution.py | 253 +- .../engine/steps/skill_catalog_projection.py | 207 + src/opensquilla/engine/steps/skills_filter.py | 348 - src/opensquilla/gateway/boot.py | 54 - src/opensquilla/gateway/config.py | 10 +- src/opensquilla/gateway/config_migration.py | 87 + src/opensquilla/gateway/rpc_config.py | 6 +- src/opensquilla/gateway/rpc_meta_runs.py | 183 +- src/opensquilla/gateway/rpc_skills.py | 116 +- src/opensquilla/gateway/scopes.py | 1 + src/opensquilla/observability/decision_log.py | 2 +- .../observability/decision_log_aggregate.py | 5 +- src/opensquilla/safety/injection_guard.py | 4 +- .../bundled/AwesomeWebpageMetaSkill/SKILL.md | 2 + .../bundled/advanced-dubbing-studio/SKILL.md | 128 - .../skills/bundled/ai-video-script/SKILL.md | 4 + .../skills/bundled/audio-cog/SKILL.md | 4 + .../awesome-webpage-image-download/SKILL.md | 4 + .../bundled/awesome-webpage-research/SKILL.md | 4 + .../skills/bundled/code-task/SKILL.md | 2 + src/opensquilla/skills/bundled/cron/SKILL.md | 58 - .../skills/bundled/deep-research/SKILL.md | 2 + src/opensquilla/skills/bundled/docx/SKILL.md | 4 +- .../skills/bundled/filesystem/SKILL.md | 4 + .../skills/bundled/git-diff/SKILL.md | 47 - .../bundled/git-diff/scripts/git_diff.py | 88 - .../skills/bundled/github/SKILL.md | 2 + .../skills/bundled/history-explorer/SKILL.md | 4 + .../skills/bundled/html-coder/SKILL.md | 2 + .../skills/bundled/html-to-pdf/SKILL.md | 158 - .../html-to-pdf/THIRD_PARTY_NOTICES.md | 17 - .../html-to-pdf/references/weasyprint.md | 121 - .../bundled/html-to-pdf/scripts/render.py | 71 - .../skills/bundled/http-fetch/SKILL.md | 63 - .../bundled/http-fetch/scripts/http_fetch.py | 98 - .../skills/bundled/latex-compile/SKILL.md | 47 - .../bundled/latex-compile/scripts/compile.py | 344 - .../skills/bundled/memory/SKILL.md | 80 - .../bundled/meta-kid-project-planner/SKILL.md | 2 + .../skills/bundled/meta-paper-write/SKILL.md | 4 +- .../skills/bundled/meta-short-drama/SKILL.md | 4 +- .../bundled/meta-skill-creator/SKILL.md | 4 +- .../bundled/multi-search-engine/SKILL.md | 4 + .../bundled/music-and-singing-studio/SKILL.md | 153 - .../nano-banana-pro-openrouter/SKILL.md | 4 + .../skills/bundled/nano-banana-pro/SKILL.md | 4 + .../skills/bundled/nano-pdf/SKILL.md | 44 - .../openrouter-video-generator/SKILL.md | 4 + .../bundled/paper-abstract-author/SKILL.md | 40 - .../bundled/paper-artifact-runtime/SKILL.md | 4 + .../paper-citation-integrity-gate/SKILL.md | 4 + .../bundled/paper-citation-planner/SKILL.md | 50 - .../bundled/paper-delivery-summary/SKILL.md | 4 + .../bundled/paper-experiment-stub/SKILL.md | 30 - .../paper-experiment-stub/paper/results.csv | 21 - .../scripts/gen_results.py | 38 - .../bundled/paper-latex-sanitizer/SKILL.md | 4 + .../skills/bundled/paper-length-gate/SKILL.md | 4 + .../bundled/paper-outline-author/SKILL.md | 57 - .../skills/bundled/paper-plot-stub/SKILL.md | 28 - .../bundled/paper-plot-stub/scripts/plot.py | 48 - .../bundled/paper-preference-planner/SKILL.md | 64 - .../bundled/paper-quality-gate/SKILL.md | 4 + .../skills/bundled/paper-refbib-stub/SKILL.md | 4 + .../bundled/paper-revision-author/SKILL.md | 49 - .../bundled/paper-section-author/SKILL.md | 4 + .../bundled/paper-source-curator/SKILL.md | 47 - .../paper-source-readiness-gate/SKILL.md | 4 + .../skills/bundled/pdf-toolkit/SKILL.md | 25 +- .../pdf-toolkit/THIRD_PARTY_NOTICES.md | 9 +- src/opensquilla/skills/bundled/pptx/SKILL.md | 4 +- .../skills/bundled/seedance-2-prompt/SKILL.md | 4 + .../short-drama-delivery-audit/SKILL.md | 4 + .../short-drama-review-normalizer/SKILL.md | 4 + .../bundled/skill-creator-linter/SKILL.md | 56 - .../skill-creator-linter/scripts/lint.py | 250 - .../bundled/skill-creator-proposals/SKILL.md | 50 - .../scripts/proposals.py | 118 - .../bundled/skill-creator-smoke-test/SKILL.md | 25 - .../skills/bundled/skill-creator/SKILL.md | 2 + .../skills/bundled/srt-from-script/SKILL.md | 4 + .../stack-trace-generic-probe/SKILL.md | 30 - .../bundled/stack-trace-go-probe/SKILL.md | 30 - .../bundled/stack-trace-js-probe/SKILL.md | 31 - .../bundled/stack-trace-python-probe/SKILL.md | 30 - .../bundled/stack-trace-rust-probe/SKILL.md | 30 - .../skills/bundled/sub-agent/SKILL.md | 2 + .../skills/bundled/subtitle-burner/SKILL.md | 4 + .../skills/bundled/summarize/SKILL.md | 28 - .../skills/bundled/text-file-read/SKILL.md | 4 + .../skills/bundled/title-card-image/SKILL.md | 4 + src/opensquilla/skills/bundled/tmux/SKILL.md | 161 - .../bundled/tmux/scripts/find-sessions.sh | 112 - .../bundled/tmux/scripts/wait-for-text.sh | 83 - .../skills/bundled/video-merger/SKILL.md | 4 + .../bundled/video-still-animator/SKILL.md | 4 + .../skills/bundled/voice-clone-lab/SKILL.md | 108 - .../bundled/voice-conversion-studio/SKILL.md | 114 - .../skills/bundled/voiceover-studio/SKILL.md | 169 - .../skills/bundled/weather/SKILL.md | 137 - .../bundled/weather/scripts/weather_fetch.py | 137 - .../skills/bundled/web-search/SKILL.md | 4 + src/opensquilla/skills/bundled/xlsx/SKILL.md | 4 +- src/opensquilla/skills/catalog_policy.py | 298 + .../skills/creator/auto_propose.py | 5 - .../skills/creator/lint_runtime.py | 150 + .../creator/patterns/p1_sequential.md.j2 | 3 - .../creator/patterns/p2_fan_out_merge.md.j2 | 9 - .../creator/patterns/p3_condition_gated.md.j2 | 3 - src/opensquilla/skills/creator/proposer.py | 123 +- .../exp/meta-arxiv-daily-digest-deck/SKILL.md | 3 + .../exp/meta-codereview-current-diff/SKILL.md | 3 + .../exp/meta-compliance-audit-bundle/SKILL.md | 3 + .../meta-content-publish-pipeline/SKILL.md | 3 + .../exp/meta-diagram-triangulation/SKILL.md | 3 + .../exp/meta-github-pr-watch-digest/SKILL.md | 3 + .../skills/exp/meta-home-it-rescue/SKILL.md | 3 + .../exp/meta-issue-to-pr-autopilot/SKILL.md | 2 + .../meta-knowledge-base-bootstrap/SKILL.md | 3 + .../meta-long-running-build-watchdog/SKILL.md | 2 + .../exp/meta-meeting-to-workflow/SKILL.md | 3 + .../exp/meta-migration-assistant/SKILL.md | 3 + .../meta-multi-format-export-pack/SKILL.md | 3 + .../skills/exp/meta-pdf-intelligence/SKILL.md | 3 + .../exp/meta-pdf-reformat-pipeline/SKILL.md | 3 + .../exp/meta-pre-commit-quality-gate/SKILL.md | 3 + .../exp/meta-research-to-slide-deck/SKILL.md | 3 + .../exp/meta-sales-lead-researcher/SKILL.md | 3 + .../meta-scheduled-morning-digest/SKILL.md | 3 + .../exp/meta-security-review-bundle/SKILL.md | 3 + .../exp/meta-spreadsheet-insight/SKILL.md | 3 + .../meta-stack-trace-investigator/SKILL.md | 3 + .../skills/exp/meta-travel-planner/SKILL.md | 3 + .../exp/meta-web-to-pdf-briefing/SKILL.md | 3 + src/opensquilla/skills/filter.py | 72 - src/opensquilla/skills/injector.py | 138 +- src/opensquilla/skills/loader.py | 40 +- src/opensquilla/skills/manifest.py | 22 +- src/opensquilla/skills/meta/events.py | 15 +- src/opensquilla/skills/proposals_lib.py | 7 +- src/opensquilla/skills/retrieval/__init__.py | 232 - src/opensquilla/skills/retrieval/embedder.py | 35 - src/opensquilla/skills/retrieval/fusion.py | 25 - src/opensquilla/skills/retrieval/lexical.py | 154 - .../skills/retrieval/local_embedding.py | 5 - src/opensquilla/skills/retrieval/semantic.py | 113 - src/opensquilla/skills/types.py | 26 + src/opensquilla/tools/builtin/skill_tools.py | 74 +- src/opensquilla/tools/types.py | 7 + tests/test_bundled_voice_skills.py | 115 - tests/test_ci/test_windows_test_shards.py | 1 - tests/test_engine/test_coding_mode.py | 2 +- tests/test_engine/test_goal_routing_hint.py | 70 - .../test_meta_resolution_sticky.py | 46 - .../test_runtime_meta_invoke_surfacing.py | 18 +- .../test_prompt_assembler_stage_unit.py | 2 +- tests/test_gateway/test_router_boot.py | 39 - tests/test_gateway/test_rpc_meta_list.py | 41 +- .../test_rpc_skills_install_visibility.py | 19 +- tests/test_gateway/test_rpc_skills_reload.py | 17 +- .../test_legacy_config_fixtures.py | 13 +- .../test_live_meta_skill_creator_e2e.py | 6 +- tests/test_skill_catalog_projection.py | 250 + tests/test_skill_html_to_pdf.py | 73 - tests/test_skill_pdf_toolkit.py | 6 +- .../test_skills/test_creator_auto_propose.py | 88 +- tests/test_skills/test_creator_proposer.py | 7 +- .../test_high_value_meta_skill_contracts.py | 20 +- tests/test_skills/test_injector_budget.py | 11 +- .../test_loader_list_meta_specs.py | 1 - .../test_meta_arxiv_daily_digest_deck.py | 129 - .../test_meta_codereview_current_diff.py | 184 - tests/test_skills/test_meta_mvp.py | 65 +- tests/test_skills/test_meta_paper_skills.py | 255 +- .../test_meta_pre_commit_quality_gate.py | 164 - tests/test_skills/test_meta_skill_accept.py | 54 +- .../test_meta_skill_creator_e2e.py | 58 +- .../test_meta_skill_creator_lint.py | 15 +- tests/test_skills/test_meta_skill_linter.py | 33 +- .../test_skills/test_meta_skill_proposals.py | 47 +- .../test_meta_stack_trace_investigator.py | 379 - .../test_skills/test_retrieval_fingerprint.py | 52 - .../test_skills/test_skill_disable_toggle.py | 16 +- .../test_weather_skill_entrypoint.py | 99 - tests/test_skills_bundled_baseline.py | 12 +- tests/test_skills_default_prompt_contract.py | 553 - tests/test_skills_hot_reload.py | 4 +- tests/test_skills_manifest.py | 10 +- tests/test_skills_memory_contract.py | 39 - tests/test_skills_provenance_contract.py | 11 +- tests/test_skills_third_party_notices.py | 31 - 222 files changed, 15011 insertions(+), 10301 deletions(-) create mode 100644 docs/evidence/skill-simplification/README.md create mode 100644 docs/evidence/skill-simplification/raw.csv create mode 100644 docs/evidence/skill-simplification/raw.json create mode 100644 docs/evidence/skill-simplification/summary.json create mode 100644 opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.test.ts create mode 100644 opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.ts create mode 100644 opensquilla-webui/src/modules/metaSkillCatalog.ts create mode 100644 scripts/skill_simplification_ab.py create mode 100644 src/opensquilla/engine/steps/skill_catalog_projection.py delete mode 100644 src/opensquilla/engine/steps/skills_filter.py delete mode 100644 src/opensquilla/skills/bundled/advanced-dubbing-studio/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/cron/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/git-diff/SKILL.md delete mode 100755 src/opensquilla/skills/bundled/git-diff/scripts/git_diff.py delete mode 100644 src/opensquilla/skills/bundled/html-to-pdf/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/html-to-pdf/THIRD_PARTY_NOTICES.md delete mode 100644 src/opensquilla/skills/bundled/html-to-pdf/references/weasyprint.md delete mode 100644 src/opensquilla/skills/bundled/html-to-pdf/scripts/render.py delete mode 100644 src/opensquilla/skills/bundled/http-fetch/SKILL.md delete mode 100755 src/opensquilla/skills/bundled/http-fetch/scripts/http_fetch.py delete mode 100644 src/opensquilla/skills/bundled/latex-compile/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/latex-compile/scripts/compile.py delete mode 100644 src/opensquilla/skills/bundled/memory/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/music-and-singing-studio/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/nano-pdf/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-abstract-author/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-citation-planner/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-experiment-stub/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-experiment-stub/paper/results.csv delete mode 100644 src/opensquilla/skills/bundled/paper-experiment-stub/scripts/gen_results.py delete mode 100644 src/opensquilla/skills/bundled/paper-outline-author/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-plot-stub/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-plot-stub/scripts/plot.py delete mode 100644 src/opensquilla/skills/bundled/paper-preference-planner/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-revision-author/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/paper-source-curator/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/skill-creator-linter/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/skill-creator-linter/scripts/lint.py delete mode 100644 src/opensquilla/skills/bundled/skill-creator-proposals/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/skill-creator-proposals/scripts/proposals.py delete mode 100644 src/opensquilla/skills/bundled/skill-creator-smoke-test/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/stack-trace-generic-probe/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/stack-trace-go-probe/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/stack-trace-js-probe/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/stack-trace-python-probe/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/stack-trace-rust-probe/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/summarize/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/tmux/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/tmux/scripts/find-sessions.sh delete mode 100644 src/opensquilla/skills/bundled/tmux/scripts/wait-for-text.sh delete mode 100644 src/opensquilla/skills/bundled/voice-clone-lab/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/voice-conversion-studio/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/voiceover-studio/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/weather/SKILL.md delete mode 100644 src/opensquilla/skills/bundled/weather/scripts/weather_fetch.py create mode 100644 src/opensquilla/skills/catalog_policy.py create mode 100644 src/opensquilla/skills/creator/lint_runtime.py delete mode 100644 src/opensquilla/skills/filter.py delete mode 100644 src/opensquilla/skills/retrieval/__init__.py delete mode 100644 src/opensquilla/skills/retrieval/embedder.py delete mode 100644 src/opensquilla/skills/retrieval/fusion.py delete mode 100644 src/opensquilla/skills/retrieval/lexical.py delete mode 100644 src/opensquilla/skills/retrieval/local_embedding.py delete mode 100644 src/opensquilla/skills/retrieval/semantic.py delete mode 100644 tests/test_bundled_voice_skills.py delete mode 100644 tests/test_engine/test_goal_routing_hint.py create mode 100644 tests/test_skill_catalog_projection.py delete mode 100644 tests/test_skill_html_to_pdf.py delete mode 100644 tests/test_skills/test_meta_arxiv_daily_digest_deck.py delete mode 100644 tests/test_skills/test_meta_codereview_current_diff.py delete mode 100644 tests/test_skills/test_meta_pre_commit_quality_gate.py delete mode 100644 tests/test_skills/test_meta_stack_trace_investigator.py delete mode 100644 tests/test_skills/test_retrieval_fingerprint.py delete mode 100644 tests/test_skills/test_weather_skill_entrypoint.py delete mode 100644 tests/test_skills_default_prompt_contract.py delete mode 100644 tests/test_skills_memory_contract.py diff --git a/.github/scripts/plan_ci.py b/.github/scripts/plan_ci.py index a0403bd67f..cfd7c9624b 100644 --- a/.github/scripts/plan_ci.py +++ b/.github/scripts/plan_ci.py @@ -125,7 +125,7 @@ "tests/test_skills_manifest.py", "tests/test_skills_bundled_baseline.py", "tests/test_skills_hot_reload.py", - "tests/test_skills_default_prompt_contract.py", + "tests/test_skill_catalog_projection.py", "tests/test_skills_loader_namespaces.py", "tests/test_skills_tree.py", "tests/test_skills_hub_archive.py", @@ -1270,11 +1270,16 @@ def _repository_files_for_validation(repo: Path) -> list[str]: if (path.is_file() or path.is_symlink()) and ".git" not in path.relative_to(repo).parts ) - return sorted( + paths = [ item.decode("utf-8", errors="strict") for item in completed.stdout.split(b"\0") if item - ) + ] + # ``git ls-files --cached`` retains paths deleted in an uncommitted + # worktree. They are useful to change classification but cannot be parsed + # as current test-module sources, so exclude only physically absent paths + # from repository-content validation. + return sorted(path for path in paths if (repo / path).exists()) def _validate_execution_input_patterns( diff --git a/.github/scripts/windows_test_assignments.json b/.github/scripts/windows_test_assignments.json index ef0f4edc20..0b8f02d6d6 100644 --- a/.github/scripts/windows_test_assignments.json +++ b/.github/scripts/windows_test_assignments.json @@ -78,7 +78,6 @@ "tests/test_engine/test_final_diff_contract.py", "tests/test_engine/test_final_diff_salvage_and_endgame_freeze_levers.py", "tests/test_engine/test_goal_context_prompt.py", - "tests/test_engine/test_goal_routing_hint.py", "tests/test_engine/test_historical_image_followup.py", "tests/test_engine/test_history_silent_reply.py", "tests/test_engine/test_long_task_backend_boundaries.py", @@ -232,7 +231,6 @@ "tests/test_skills/test_meta_invoke_recursion_guard.py", "tests/test_skills/test_meta_invoke_tool.py", "tests/test_skills/test_meta_mvp.py", - "tests/test_skills/test_meta_pre_commit_quality_gate.py", "tests/test_skills/test_meta_readiness.py", "tests/test_skills/test_meta_short_drama_delivery_audit.py", "tests/test_skills/test_meta_skill_authoring_docs.py", @@ -334,7 +332,6 @@ "tests/test_application/test_session_history.py", "tests/test_application/test_session_transcript.py", "tests/test_attachment_workspace.py", - "tests/test_bundled_voice_skills.py", "tests/test_channels/test_approval_i18n.py", "tests/test_channels/test_channel_command_registry.py", "tests/test_channels/test_channel_dedupe.py", @@ -834,7 +831,6 @@ "tests/test_session/test_turn_acceptance_storage.py", "tests/test_session/test_turn_usage_storage.py", "tests/test_session_streams_meta_events.py", - "tests/test_skill_html_to_pdf.py", "tests/test_skill_multi_search_engine.py", "tests/test_skill_xlsx.py", "tests/test_skills/test_clarify_nl_extract.py", @@ -844,7 +840,6 @@ "tests/test_skills/test_high_value_meta_trigger_coverage.py", "tests/test_skills/test_hub_deps_subprocess.py", "tests/test_skills/test_meta_executor_gate.py", - "tests/test_skills/test_meta_paper_skills.py", "tests/test_skills/test_meta_parallel.py", "tests/test_skills/test_meta_paused_scheduler.py", "tests/test_skills/test_meta_resume.py", @@ -852,12 +847,10 @@ "tests/test_skills/test_meta_skill_creator_lint.py", "tests/test_skills/test_meta_user_input_executor.py", "tests/test_skills/test_nano_banana_openrouter_image.py", - "tests/test_skills/test_retrieval_fingerprint.py", "tests/test_skills/test_skill_exec_python_resolution.py", "tests/test_skills/test_skill_exec_subprocess_encoding.py", "tests/test_skills/test_sop_compiler.py", "tests/test_skills_hot_reload.py", - "tests/test_skills_memory_contract.py", "tests/test_tools/test_admin_audio_config.py", "tests/test_tools/test_admin_cron_strict.py", "tests/test_tools/test_admin_gateway_contract.py", @@ -1103,15 +1096,14 @@ "tests/test_skills/test_meta_cancellation.py", "tests/test_skills/test_meta_diagram_triangulation.py", "tests/test_skills/test_meta_inputs_collected.py", + "tests/test_skills/test_meta_paper_skills.py", "tests/test_skills/test_meta_paper_write_e2e.py", "tests/test_skills/test_meta_plan_serde.py", "tests/test_skills/test_meta_security_review_bundle.py", "tests/test_skills/test_meta_skill_accept.py", "tests/test_skills/test_meta_skill_smoke_test.py", - "tests/test_skills/test_meta_stack_trace_investigator.py", "tests/test_skills/test_meta_user_input_types.py", "tests/test_skills/test_multi_search_engine_concurrency.py", - "tests/test_skills/test_weather_skill_entrypoint.py", "tests/test_skills_hash_consumers.py", "tests/test_skills_hub_github.py", "tests/test_skills_loader_namespaces.py", @@ -1332,12 +1324,11 @@ "tests/test_scripts/test_release_channel_manifest.py", "tests/test_scripts/test_verify_desktop_slim_size.py", "tests/test_scripts/test_verify_webui_artifact.py", + "tests/test_skill_catalog_projection.py", "tests/test_skills/test_clarify_skip_summary.py", "tests/test_skills/test_creator_trigger_no_collision.py", "tests/test_skills/test_history_explorer.py", - "tests/test_skills/test_meta_arxiv_daily_digest_deck.py", "tests/test_skills/test_meta_auto_trigger_enabled.py", - "tests/test_skills/test_meta_codereview_current_diff.py", "tests/test_skills/test_meta_on_failure_substitute.py", "tests/test_skills/test_meta_orchestrator_offload.py", "tests/test_skills/test_meta_run_persistence_e2e.py", @@ -1349,7 +1340,6 @@ "tests/test_skills/test_runtime_e2e_gate.py", "tests/test_skills/test_skill_exec_non_blocking.py", "tests/test_skills_community_copy_contract.py", - "tests/test_skills_default_prompt_contract.py", "tests/test_skills_dependency_summary.py", "tests/test_skills_hub_installer_security.py", "tests/test_skills_paths.py", diff --git a/.github/scripts/windows_test_durations.json b/.github/scripts/windows_test_durations.json index 16ab7da0f8..9b88113213 100644 --- a/.github/scripts/windows_test_durations.json +++ b/.github/scripts/windows_test_durations.json @@ -122,7 +122,6 @@ "tests/test_artifacts.py": 2.895, "tests/test_asyncio_utils.py": 0.01, "tests/test_attachment_workspace.py": 0.148, - "tests/test_bundled_voice_skills.py": 0.673, "tests/test_channels/test_admission_reason_persistence.py": 0.856, "tests/test_channels/test_approval_dispatch_intercept.py": 1.046, "tests/test_channels/test_approval_i18n.py": 0.041, @@ -340,7 +339,6 @@ "tests/test_engine/test_final_diff_salvage_and_endgame_freeze_levers.py": 8.245, "tests/test_engine/test_finalize_evidence_gate.py": 0.28, "tests/test_engine/test_goal_context_prompt.py": 0.11, - "tests/test_engine/test_goal_routing_hint.py": 0.026, "tests/test_engine/test_heuristic_router_strategy.py": 0.818, "tests/test_engine/test_historical_image_followup.py": 4.251, "tests/test_engine/test_history_silent_reply.py": 0.014, @@ -1181,8 +1179,8 @@ "tests/test_session/test_turn_acceptance_storage.py": 15.113, "tests/test_session/test_turn_usage_storage.py": 0.112, "tests/test_session_streams_meta_events.py": 0.01, + "tests/test_skill_catalog_projection.py": 2.1, "tests/test_skill_docx.py": 3.082, - "tests/test_skill_html_to_pdf.py": 0.937, "tests/test_skill_multi_search_engine.py": 0.283, "tests/test_skill_pdf_toolkit.py": 1.198, "tests/test_skill_pptx_delivery.py": 0.75, @@ -1212,11 +1210,9 @@ "tests/test_skills/test_loader_list_meta_specs.py": 3.264, "tests/test_skills/test_loader_turn_snapshot.py": 0.01, "tests/test_skills/test_managed_toolchains.py": 4.983, - "tests/test_skills/test_meta_arxiv_daily_digest_deck.py": 3.156, "tests/test_skills/test_meta_auto_trigger_enabled.py": 0.01, "tests/test_skills/test_meta_cancellation.py": 5.727, "tests/test_skills/test_meta_clarify_defaults.py": 0.013, - "tests/test_skills/test_meta_codereview_current_diff.py": 5.94, "tests/test_skills/test_meta_diagram_triangulation.py": 3.295, "tests/test_skills/test_meta_dsl_extensions.py": 0.921, "tests/test_skills/test_meta_executor_gate.py": 0.01, @@ -1231,7 +1227,6 @@ "tests/test_skills/test_meta_parallel.py": 0.344, "tests/test_skills/test_meta_paused_scheduler.py": 0.071, "tests/test_skills/test_meta_plan_serde.py": 0.166, - "tests/test_skills/test_meta_pre_commit_quality_gate.py": 5.252, "tests/test_skills/test_meta_readiness.py": 1.657, "tests/test_skills/test_meta_resume.py": 20.007, "tests/test_skills/test_meta_router_accuracy.py": 1.08, @@ -1246,7 +1241,6 @@ "tests/test_skills/test_meta_skill_linter.py": 25.593, "tests/test_skills/test_meta_skill_proposals.py": 3.153, "tests/test_skills/test_meta_skill_smoke_test.py": 0.281, - "tests/test_skills/test_meta_stack_trace_investigator.py": 7.126, "tests/test_skills/test_meta_travel_planner_direct_e2e.py": 1.215, "tests/test_skills/test_meta_trigger_accuracy_harness.py": 0.024, "tests/test_skills/test_meta_user_input_executor.py": 0.087, @@ -1263,7 +1257,6 @@ "tests/test_skills/test_paper_refbib_metadata.py": 0.342, "tests/test_skills/test_paper_source_readiness_gate.py": 1.824, "tests/test_skills/test_proposals_lib.py": 0.295, - "tests/test_skills/test_retrieval_fingerprint.py": 0.01, "tests/test_skills/test_runtime_e2e_gate.py": 0.016, "tests/test_skills/test_short_drama_review_normalizer.py": 0.276, "tests/test_skills/test_skill_disable_toggle.py": 0.04, @@ -1275,10 +1268,8 @@ "tests/test_skills/test_title_card_image.py": 0.107, "tests/test_skills/test_toolchain_runtime_integration.py": 0.128, "tests/test_skills/test_toolchain_state_scope.py": 0.02, - "tests/test_skills/test_weather_skill_entrypoint.py": 0.01, "tests/test_skills_bundled_baseline.py": 0.793, "tests/test_skills_community_copy_contract.py": 0.01, - "tests/test_skills_default_prompt_contract.py": 10.372, "tests/test_skills_dependency_summary.py": 0.2, "tests/test_skills_eligibility.py": 0.01, "tests/test_skills_hash_consumers.py": 0.459, @@ -1293,7 +1284,6 @@ "tests/test_skills_hub_source.py": 0.017, "tests/test_skills_loader_namespaces.py": 1.024, "tests/test_skills_manifest.py": 1.315, - "tests/test_skills_memory_contract.py": 0.693, "tests/test_skills_paths.py": 0.016, "tests/test_skills_provenance_contract.py": 4.11, "tests/test_skills_third_party_notices.py": 2.373, diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index 9c85c53f1e..e6e71ec2fa 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -329,13 +329,8 @@ in a package-local provenance file. - Component: SKILL.md frontmatter and instruction text for these bundled skills: - `sub-agent` -- `cron` - `github` - - `nano-pdf` - `skill-creator` - - `summarize` - - `tmux` - - `weather` - Upstream project: https://github.com/openclaw/openclaw - License: MIT - Copyright notice: Copyright (c) 2025 Peter Steinberger @@ -378,72 +373,41 @@ SOFTWARE. These bundled skill descriptors are authored and maintained by OpenSquilla and are released under OpenSquilla's repository license (Apache-2.0; see `LICENSE`): -- `cron` - `code-task` - `AwesomeWebpageMetaSkill` - `awesome-webpage-image-download` - `awesome-webpage-research` - `deep-research` - `docx` -- `git-diff` - `github` - `history-explorer` -- `html-to-pdf` -- `http-fetch` -- `latex-compile` -- `memory` - `meta-kid-project-planner` - `meta-paper-write` - `meta-short-drama` - `meta-skill-creator` - `multi-search-engine` -- `nano-pdf` - `openrouter-video-generator` -- `paper-abstract-author` - `paper-artifact-runtime` - `paper-citation-integrity-gate` -- `paper-citation-planner` - `paper-delivery-summary` -- `paper-experiment-stub` - `paper-latex-sanitizer` - `paper-length-gate` -- `paper-outline-author` -- `paper-plot-stub` -- `paper-preference-planner` - `paper-quality-gate` - `paper-refbib-stub` -- `paper-revision-author` - `paper-section-author` - `paper-source-readiness-gate` -- `paper-source-curator` - `pdf-toolkit` - `pptx` - `skill-creator` -- `skill-creator-linter` -- `skill-creator-proposals` -- `skill-creator-smoke-test` - `short-drama-delivery-audit` - `short-drama-review-normalizer` -- `stack-trace-generic-probe` -- `stack-trace-go-probe` -- `stack-trace-js-probe` -- `stack-trace-python-probe` -- `stack-trace-rust-probe` - `sub-agent` - `srt-from-script` - `subtitle-burner` -- `summarize` - `text-file-read` - `title-card-image` -- `tmux` - `video-still-animator` -- `weather` - `xlsx` -- `advanced-dubbing-studio` -- `music-and-singing-studio` -- `voice-clone-lab` -- `voice-conversion-studio` -- `voiceover-studio` ## tokenjuice adapted reduction rules @@ -527,7 +491,6 @@ SOFTWARE. - `deep-research` - `docx` - `html-coder` - - `html-to-pdf` - `multi-search-engine` - `nano-banana-pro` - `nano-banana-pro-openrouter` diff --git a/docs/evidence/skill-simplification/README.md b/docs/evidence/skill-simplification/README.md new file mode 100644 index 0000000000..cc633b3884 --- /dev/null +++ b/docs/evidence/skill-simplification/README.md @@ -0,0 +1,107 @@ +# Skill simplification A/B evidence + +This directory contains reproducible, synthetic evidence for the Skill catalog +simplification. No real conversation, credential, private key, reference-repository +path, or host-absolute path is present in the versioned artifacts. + +## Identity and method + +- Baseline: `27ca02ca4596f8f24fe79ab603f068cbec6ab858`. +- Candidate: `058a7675a24177f513ca9262b1d0db96578c1e58`, created with `git commit-tree` + over a temporary index so the user's HEAD and index were not moved. +- Both benchmark worktrees were clean. +- Provider/model: `tokenrhythm` / `deepseek-v4-pro-0813`. +- Tool schema: 58 definitions in the same order; canonical digest + `fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97`. +- Sampling: provider defaults for temperature/top-p, concurrency 1, output limit + 256 tokens (32 for calibration). +- Dataset: 166 logical synthetic requests: tokenizer calibration, warm-up, five + ABBA/BAAB micro groups, five independent ten-turn continuity sessions, and + fourteen paired multi-task/migration cases. +- Eligibility uses a recorded synthetic full-capability profile so catalog shape + is compared independently of host-installed binaries and credentials. Runtime + eligibility remains fail-closed in product code. +- Cold cache means turn 1 of each continuity session; warm cache means turns 2-10 + with identical fixed history on both sides. + +`raw.json` is the source of truth. `raw.csv` and `summary.json` can be regenerated: + +```bash +uv run python scripts/skill_simplification_ab.py summarize \ + --raw docs/evidence/skill-simplification/raw.json +``` + +The checked-in summary and CSV were byte-compared with an independent regeneration. + +## Headline measurements + +| Metric | Baseline | Candidate | Change | +| --- | ---: | ---: | ---: | +| Model-visible bundled entries | 48 | 11 | -77.08% | +| Complete catalog characters | 21,675 | 6,059 | -72.05% | +| Prompt catalog characters | 6,777 | 4,509 | -33.47% | +| Provider-measured catalog tokens | 1,771 | 1,121 | -36.70% | +| Tool-schema tokens | 11,343 | 11,343 | 0% | +| Multi-task mean input tokens | 13,309.429 | 12,665.714 | -4.84% | +| Warm continuity cache-read ratio | 20.6704% | 20.4031% | -0.2673 pp | +| Multi-task route accuracy | 64.2857% | 85.7143% | +21.4286 pp | +| Multi-task task success | 57.1429% | 78.5714% | +21.4285 pp | +| Multi-task median end-to-end latency | 16,546.555 ms | 8,551.444 ms | -48.32% | + +The unchanged tool schema dominates input size, so the required 30% mean total-input +reduction was not achieved even though catalog tokens fell by 36.70%. With 11,343 +tool-schema tokens inside an approximately 13.3k-token baseline request, that total-input +gate cannot be reached by Skill-catalog reduction alone while the schema is fixed. + +## Acceptance gates + +The overall result is **FAIL** because every hard gate must pass. + +| Gate | Result | Evidence | +| --- | --- | --- | +| Mean input tokens reduced by at least 30% | FAIL | Multi-task mean fell 4.84%. | +| No systematic per-task input growth | PASS | No task category showed systematic reverse growth. | +| Warm provider cache-read ratio not lower | FAIL | 20.6704% to 20.4031%. | +| Warm uncached input median lower | PASS | 13,311 to 11,538 tokens. | +| Prefix stability 100% | PASS | 100% on both sides. | +| Reinjection waste zero | PASS | 0 on both sides. | +| Avoidable break rate zero | PASS | 0 on both sides. | +| Median end-to-end latency no worse than 5% | PASS | Multi-task median improved 48.32%. | +| Non-retired task success not lower | PASS | Candidate did not regress the fixed non-retired set. | +| No truncated samples | FAIL | 10 total: baseline 7, candidate 3. | +| Visible-word median within ±10% | FAIL / unassessable | Both medians are 0 because tool-call samples have no visible text; the ratio is undefined and the summarizer fails closed. | + +Provider instability was retained: across versioned requests, baseline recorded +14 timeout attempts and 2 5xx attempts; candidate recorded 18 timeout attempts and +4 5xx attempts. Candidate continuity had two terminal failures. Successful-only and +end-to-end latency are reported separately in `summary.json`. + +## Verification record + +- Unmodified baseline focused suite: 278 passed. +- Changed-test regression suite: 827 passed, 5 skipped; new projection suite: + 12 passed. +- Stable Meta and recovery suite: 190 passed, 3 skipped. +- WebUI: baseline 4,609 passed (4,594 plus 15 worker-timeout reruns); candidate + 4,609 passed. Candidate production build, architecture, security, theme, and + distribution verification passed. +- Full Python run on the clean pre-fix candidate snapshot: 24,299 passed, 257 + skipped, 30 failed. The final snapshot reran all 30 failure nodes: 92 passed and + the remaining 9 exactly matched baseline failures (four macOS process-group + cases, three missing-Docker experiment cases, one BSD `sed -i` case, and one + pre-existing TUI truncation case). +- Ruff passed; mypy passed across 972 source files. +- Windows contracts and CI shard planning passed statically. No Windows or Linux + host was available for native execution; macOS arm64 was measured directly. + +The PR was subsequently rebased onto the then-current `main`. Integration +verification on that tree passed 326 focused Python tests (1 skipped), Ruff, +mypy across 1,051 source files, 5,128 WebUI unit tests, the WebUI transport +architecture gates, and the production build. The Provider measurements above +remain bound to the recorded candidate SHA; they were not relabeled as +post-rebase measurements. + +Reference research was read-only and informed the separation of loading, +selection, invocation, prompt-cache layout, workspace lifecycle, and Gateway +protocol boundaries. The implementation is independent and has no runtime +dependency on those repositories. diff --git a/docs/evidence/skill-simplification/raw.csv b/docs/evidence/skill-simplification/raw.csv new file mode 100644 index 0000000000..df24840b21 --- /dev/null +++ b/docs/evidence/skill-simplification/raw.csv @@ -0,0 +1,167 @@ +version,suite,task_id,cache_phase,success,input_tokens,cached_input_tokens,cache_write_tokens,output_tokens,reasoning_tokens,first_event_ms,first_reasoning_ms,first_visible_ms,successful_attempt_ms,end_to_end_ms,retry_count,truncated,error_429,error_5xx,error_timeout,catalog_generation,catalog_digest,stable_prefix_digest,dynamic_suffix_digest,theoretical_reusable_tokens,tool_call_count,task_success,route_ok,false_no_skill_claim,explicit_skill_missed,visible_chars,visible_words,lines,paragraphs,list_items,markdown_headings,bold_spans +shared,calibration,empty,,True,92,0,0,25,23,1217.46,1217.46,1570.223,1691.006,1691.045,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,25f05ded1bd13b899e898514093d76597d8772bdb9fc73edd8065d8bdcb39fbb,,0,,,,,2,1,1,1,0,0,0 +shared,calibration,base_system_developer,,True,164,0,0,14,12,1531.64,1531.64,1924.057,2115.704,2115.734,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,cdc8f2e0ce6c9449b20a7eb32c97e71ec71742a9c422b476e3487659cec65995,,0,,,,,2,1,1,1,0,0,0 +shared,calibration,tool_schema,,True,11435,256,0,2,0,5226.402,,5226.402,5511.974,5511.993,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,ed12a693c15914f15e05ce5d03729f882da1f0e9cf2eecbca500199c7e0ba4ea,,0,,,,,2,1,1,1,0,0,0 +shared,calibration,catalogless,,True,11524,128,0,2,0,867.013,,867.013,967.318,967.339,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,6c519107eeafa06df79ee67d3f4ef29c105b2aa59604393f08fb3509fcfba2a1,2ef0aaa14e8ddb89d14afafef2093141c66555bf2ae8c69beda988573000ffb8,,0,,,,,2,1,1,1,0,0,0 +baseline,calibration,catalog,,True,13295,128,0,2,0,1907.321,,1907.321,2088.332,2088.353,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,59ba2353370379463dcd623ca9a62a7d7b7d2e9c6337ee06af18f3edff65e5a2,,0,,,,,2,1,1,1,0,0,0 +baseline,calibration,cacheable_prefix,,True,11507,128,0,2,0,1443.356,,1443.356,1881.895,1881.917,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,932efce5b79a7492a1ca894c802b493f6d265fb5b985d2dee8908aa10f9efe9d,,0,,,,,2,1,1,1,0,0,0 +baseline,calibration,body_ordinary_base,,True,13297,128,0,32,32,758.796,758.796,,1629.579,1629.602,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,ae4aa9ab9554fdc17e4e7995b835c4f1f7f467e965c66430a3fcdd2a9d7a1b72,0a43a83b3cc8d8d44c01b337ad0e165ce7c229374a38c65a37c99886ad28dbed,,0,,,,,0,0,0,0,0,0,0 +baseline,calibration,body_ordinary,,True,14041,128,0,2,0,3091.736,,3091.736,3241.008,3241.028,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,c8feed1cc1a0ce652cdc58c53d86909fca2b95f959a9af224897285dbb404308,44b5d5a489a48b157920f2dd624963e0db615e445c6d27cf8a1d18bb8078cd8f,,0,,,,,2,1,1,1,0,0,0 +baseline,calibration,body_meta_step_base,,True,13298,128,0,2,0,2859.907,,2859.907,2979.991,2980.013,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,302e068278938f43442de935e031d9bcc525543da36f3d94fd7be04d99ca67fb,7c62b3844d02ac28ecfbd70ba75c871693baa0863001ed3fa283a53b43488036,,0,,,,,2,1,1,1,0,0,0 +baseline,calibration,body_meta_step,,True,15615,128,0,32,32,3397.727,3397.727,,4299.403,4299.432,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,534fe814b9550d33c14c58b2755ea15c984a8f5e2444e5ac79a9c944a5b4a4e0,0a467caac58b83b53ff7fc57f690dce955e9631ef4f92d3579df68e2381e62b0,,0,,,,,0,0,0,0,0,0,0 +candidate,calibration,catalog,,True,12645,12544,0,2,0,1444.097,,1444.097,1572.843,122229.622,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,59ba2353370379463dcd623ca9a62a7d7b7d2e9c6337ee06af18f3edff65e5a2,,0,,,,,2,1,1,1,0,0,0 +candidate,calibration,cacheable_prefix,,True,12628,128,0,2,0,2558.122,,2558.122,2747.094,2747.117,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,932efce5b79a7492a1ca894c802b493f6d265fb5b985d2dee8908aa10f9efe9d,,0,,,,,2,1,1,1,0,0,0 +candidate,calibration,body_ordinary_base,,True,12647,1152,0,2,0,1922.757,,1922.757,2112.309,2112.319,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,ad8194187c27dcccd75471ae97ca32c2dce653c534fc5a9e6649a3c01490084c,0a43a83b3cc8d8d44c01b337ad0e165ce7c229374a38c65a37c99886ad28dbed,,0,,,,,2,1,1,1,0,0,0 +candidate,calibration,body_ordinary,,True,13391,1280,0,2,0,1657.911,,1657.911,1808.343,1808.358,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,3d94d9af725e786b9aaa0f22bb35a4a915bc6c43ab71207464f8fe8d60946be5,44b5d5a489a48b157920f2dd624963e0db615e445c6d27cf8a1d18bb8078cd8f,,0,,,,,2,1,1,1,0,0,0 +candidate,calibration,body_meta_step_base,,True,12648,1280,0,2,0,2322.397,,2322.397,2420.389,2420.402,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,0b5006f68cd682266d145f6bd52d77421bff33b8a5f5540947b751e062e7e0e4,7c62b3844d02ac28ecfbd70ba75c871693baa0863001ed3fa283a53b43488036,,0,,,,,2,1,1,1,0,0,0 +candidate,calibration,body_meta_step,,True,14965,1280,0,2,0,1889.844,,1889.844,1988.032,1988.059,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,3797a6434fa760875c71e40c124bd9f002a29f74470efaa74b26cb8a17ba7a1c,0a467caac58b83b53ff7fc57f690dce955e9631ef4f92d3579df68e2381e62b0,,0,,,,,2,1,1,1,0,0,0 +baseline,warmup,provider_cache,warmup,True,13299,128,0,3,0,2189.378,,2189.378,2246.24,2246.264,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,00f30947bff8e65c963c530a1ec847d805c3a59c984bfe0202f324ea0a94d74d,,0,,,,,5,1,1,1,0,0,0 +candidate,warmup,provider_cache,warmup,True,12649,1152,0,3,0,1814.197,,1814.197,2062.569,2062.588,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,00f30947bff8e65c963c530a1ec847d805c3a59c984bfe0202f324ea0a94d74d,,0,,,,,5,1,1,1,0,0,0 +baseline,micro,group_1,warm,True,13303,128,0,99,28,1626.233,1626.233,2685.083,4776.221,4776.248,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b,,0,,,,,372,56,1,1,0,0,0 +candidate,micro,group_1,warm,True,12653,1152,0,63,16,2222.529,2222.529,2537.368,3567.486,3567.512,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b,,0,,,,,250,41,1,1,0,0,0 +candidate,micro,group_1,warm,True,12653,12544,0,94,31,1228.151,1228.151,1516.21,2917.46,2917.471,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b,,0,,,,,306,48,1,1,0,0,0 +baseline,micro,group_1,warm,True,13303,13184,0,78,17,1107.827,1107.827,1506.237,2600.073,2600.091,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b,,0,,,,,303,46,1,1,0,0,0 +candidate,micro,group_2,warm,True,12654,12544,0,103,19,1758.263,1758.263,2333.518,3615.659,129557.256,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd,,0,,,,,379,60,1,1,0,0,2 +baseline,micro,group_2,warm,True,13304,128,0,93,24,2163.983,2163.983,2283.563,3739.181,3739.197,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd,,0,,,,,303,53,1,1,0,0,2 +baseline,micro,group_2,warm,True,13304,13184,0,75,0,1314.844,,1314.844,2958.799,2958.822,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd,,0,,,,,329,59,1,1,0,0,0 +candidate,micro,group_2,warm,True,12654,12544,0,98,28,1236.399,1236.399,2979.509,5390.204,5390.225,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd,,0,,,,,324,56,1,1,0,0,0 +baseline,micro,group_3,warm,True,13303,128,0,87,33,1955.902,1955.902,2270.556,3441.981,3442.042,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf,,0,,,,,292,43,1,1,0,0,0 +candidate,micro,group_3,warm,True,12653,1280,0,74,17,2419.994,2419.994,2826.495,4614.271,4614.297,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf,,0,,,,,307,43,1,1,0,0,0 +candidate,micro,group_3,warm,True,12653,12544,0,96,39,1598.666,1598.666,2243.955,3807.66,3807.699,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf,,0,,,,,324,43,1,1,0,0,0 +baseline,micro,group_3,warm,True,13303,13184,0,75,23,1156.42,1156.42,1688.591,3280.243,3280.265,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf,,0,,,,,297,40,1,1,0,0,0 +candidate,micro,group_4,warm,True,12651,12544,0,168,109,1558.689,1558.689,3415.772,4700.746,131608.575,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5,,0,,,,,357,49,1,1,0,0,0 +baseline,micro,group_4,warm,True,13301,128,0,256,256,2433.274,2433.274,,7261.218,7261.241,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5,,0,,,,,0,0,0,0,0,0,0 +baseline,micro,group_4,warm,True,13301,13184,0,256,256,1954.208,1954.208,,6064.039,6064.063,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5,,0,,,,,0,0,0,0,0,0,0 +candidate,micro,group_4,warm,True,12651,12544,0,142,75,2351.33,2351.33,3512.621,6304.374,129082.167,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5,,0,,,,,355,51,1,1,0,0,0 +baseline,micro,group_5,warm,True,13301,128,0,73,16,2688.533,2688.533,3573.492,4224.693,4224.717,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295,,0,,,,,313,46,1,1,0,0,0 +candidate,micro,group_5,warm,True,12651,1280,0,61,17,3110.002,3110.002,3460.55,4562.052,4562.06,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295,,0,,,,,271,36,1,1,0,0,0 +candidate,micro,group_5,warm,True,12651,12544,0,85,27,1934.953,1934.953,2390.967,3621.559,3621.591,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295,,0,,,,,319,48,1,1,0,0,0 +baseline,micro,group_5,warm,True,13301,13184,0,69,20,1713.212,1713.212,2088.43,3123.127,3123.156,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295,,0,,,,,288,42,1,1,0,0,0 +baseline,continuity,session_1_turn_1,cold,True,13307,128,0,81,40,4042.982,4042.982,4263.156,5012.141,5012.161,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,f177cb759c81ff6320d713bd2c69e619a327b9c5f24b97c2df4191e30ce0f4a6,11415,0,,,,,218,29,1,1,0,0,1 +candidate,continuity,session_1_turn_1,cold,True,12657,1152,0,86,34,3635.356,3635.356,3689.042,4233.215,4233.238,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,f177cb759c81ff6320d713bd2c69e619a327b9c5f24b97c2df4191e30ce0f4a6,12536,0,,,,,249,36,1,1,0,0,1 +candidate,continuity,session_1_turn_2,warm,True,12690,1152,0,100,67,3434.197,3434.197,4610.358,5138.51,5138.539,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,7e16bdcc9a4003eeebde04b4ecfcf77c512410c90bf8bc2ff98be66af1ec038a,12657,0,,,,,191,24,1,1,0,0,0 +baseline,continuity,session_1_turn_2,warm,True,13340,13312,0,97,56,1881.593,1881.593,2856.376,4139.296,124484.695,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,7e16bdcc9a4003eeebde04b4ecfcf77c512410c90bf8bc2ff98be66af1ec038a,13307,0,,,,,241,33,1,1,0,0,0 +baseline,continuity,session_1_turn_3,warm,True,13373,128,0,103,70,2087.177,2087.177,4173.942,5401.171,5401.206,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,245663e7ba27e8b44535ca0c93ff8d7abc9a59428cf15968bbff644b5f473618,13340,0,,,,,192,24,1,1,0,0,0 +candidate,continuity,session_1_turn_3,warm,True,12723,1280,0,69,33,2286.443,2286.443,2857.14,3675.973,3675.999,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,245663e7ba27e8b44535ca0c93ff8d7abc9a59428cf15968bbff644b5f473618,12690,0,,,,,216,29,1,1,0,0,0 +candidate,continuity,session_1_turn_4,warm,True,12756,1280,0,14,0,2479.16,,2479.16,2651.271,2651.291,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,8bc4b7844fa1a17dedc06fc3df45d6ec75e52ae210bd71a9572eb28b82f9ae56,12723,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_1_turn_4,warm,True,13406,128,0,79,57,1627.818,1627.818,3457.467,4117.316,4117.339,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,8bc4b7844fa1a17dedc06fc3df45d6ec75e52ae210bd71a9572eb28b82f9ae56,13373,0,,,,,145,19,1,1,0,0,0 +baseline,continuity,session_1_turn_5,warm,True,13439,128,0,14,0,996.182,,996.182,1189.333,1189.358,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,4c7f7bba6a12992a1da50d4c0e1bb19fb8e827632ed90deb83e995c511b66417,13406,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_1_turn_5,warm,True,12789,1280,0,14,0,2130.79,,2130.79,2429.355,2429.377,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,4c7f7bba6a12992a1da50d4c0e1bb19fb8e827632ed90deb83e995c511b66417,12756,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_1_turn_6,warm,True,12822,1280,0,14,0,1391.341,,1391.341,1606.599,1606.621,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,cf1661f6e41c77d596bbbbe2eb8d159fe6664b86647f2eaf63da4064c43c4d19,12789,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_1_turn_6,warm,True,13472,128,0,58,44,2040.889,2040.889,3173.356,3413.202,3413.227,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,cf1661f6e41c77d596bbbbe2eb8d159fe6664b86647f2eaf63da4064c43c4d19,13439,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_1_turn_7,warm,True,13505,128,0,64,37,2102.843,2102.843,2666.17,3158.4,3158.419,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,546d8ff9eae8996000e13c11428fd6d7a618a2020789811af43e8ed19d8aadf4,13472,0,,,,,175,22,1,1,0,0,0 +candidate,continuity,session_1_turn_7,warm,True,12855,12800,0,38,24,2123.193,2123.193,2826.139,3225.518,128791.6,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,546d8ff9eae8996000e13c11428fd6d7a618a2020789811af43e8ed19d8aadf4,12822,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_1_turn_8,warm,True,12888,1280,0,36,0,1942.421,,1942.421,5367.688,5367.711,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,e24e4531d8450a799fc39bfdc004cc27fee50681231456380057307f25d44c84,12855,0,,,,,224,30,1,1,0,0,0 +baseline,continuity,session_1_turn_8,warm,True,13538,128,0,14,0,2073.519,,2073.519,2615.227,2615.255,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,e24e4531d8450a799fc39bfdc004cc27fee50681231456380057307f25d44c84,13505,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_1_turn_9,warm,True,13571,128,0,14,0,4328.493,,4328.493,4628.344,4628.367,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,940f108a53d786e7c4819233ba02532d387149f7d1ddaf357418a8b54f1dd34f,13538,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_1_turn_9,warm,True,12921,1280,0,14,0,3273.592,,3273.592,3916.835,3916.862,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,940f108a53d786e7c4819233ba02532d387149f7d1ddaf357418a8b54f1dd34f,12888,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_1_turn_10,warm,True,12954,1280,0,14,0,2069.123,,2069.123,2775.752,2775.768,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,223563d6e5c33cf8d77bae2f30d5f8f3ceda92f02fc2dbb0cc3da4a50bf34c2c,12921,0,,,,,86,9,1,1,0,0,0 +baseline,continuity,session_1_turn_10,warm,True,13604,128,0,14,0,1517.564,,1517.564,1783.307,1783.33,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,223563d6e5c33cf8d77bae2f30d5f8f3ceda92f02fc2dbb0cc3da4a50bf34c2c,13571,0,,,,,86,9,1,1,0,0,0 +candidate,continuity,session_2_turn_1,cold,True,12657,1280,0,76,37,1885.375,1885.375,3016.272,4933.59,4933.629,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,64e73dc5025a5c9cb991602804bcf68f2470e1c8e245d10bda3098573872da34,12536,0,,,,,203,30,1,1,0,0,1 +baseline,continuity,session_2_turn_1,cold,True,13307,128,0,100,62,2009.571,2009.571,3986.745,5170.682,5170.713,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,64e73dc5025a5c9cb991602804bcf68f2470e1c8e245d10bda3098573872da34,11415,0,,,,,199,29,1,1,0,0,1 +baseline,continuity,session_2_turn_2,warm,True,13340,13312,0,62,35,1682.595,1682.595,2700.142,3006.122,123331.83,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,2ea6e68783916f2002bdcf1ec0e7849f7b7da245e814ef31ed5d8d41e47fbc0c,13307,0,,,,,171,19,1,1,0,0,0 +candidate,continuity,session_2_turn_2,warm,True,12690,1280,0,89,53,5577.577,5577.577,5608.536,7802.46,7802.484,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,2ea6e68783916f2002bdcf1ec0e7849f7b7da245e814ef31ed5d8d41e47fbc0c,12657,0,,,,,190,27,1,1,0,0,0 +candidate,continuity,session_2_turn_3,warm,True,12723,1280,0,31,0,2833.245,,2833.245,4319.796,4319.822,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,7f2f0fd531536e1fca2293136fc11db7a0b2f10a84a92453bb27ad293ed553c3,12690,0,,,,,197,25,1,1,0,0,0 +baseline,continuity,session_2_turn_3,warm,True,13373,128,0,66,29,1471.983,1471.983,2234.788,3318.883,3318.906,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,7f2f0fd531536e1fca2293136fc11db7a0b2f10a84a92453bb27ad293ed553c3,13340,0,,,,,216,30,1,1,0,0,0 +baseline,continuity,session_2_turn_4,warm,True,13406,128,0,57,27,2644.14,2644.14,3182.764,4312.903,4312.925,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,6d94d785217db533e6f629de69149d677c13cd7a6ae9d05be5c2fe792588e010,13373,0,,,,,172,27,1,1,0,0,0 +candidate,continuity,session_2_turn_4,warm,True,12756,1280,0,71,46,2591.111,2591.111,3900.699,5945.134,5945.159,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,6d94d785217db533e6f629de69149d677c13cd7a6ae9d05be5c2fe792588e010,12723,0,,,,,162,22,1,1,0,0,0 +candidate,continuity,session_2_turn_5,warm,True,12789,1280,0,14,0,2080.812,,2080.812,2383.798,2383.829,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,3a0a41145ee92515abd4e86fd1bb67a20d7234e4bc485791a0ca2dcf5533e0b1,12756,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_2_turn_5,warm,True,13439,128,0,14,0,2650.796,,2650.796,3895.743,3895.768,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,3a0a41145ee92515abd4e86fd1bb67a20d7234e4bc485791a0ca2dcf5533e0b1,13406,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_2_turn_6,warm,True,13472,128,0,14,0,7541.681,,7541.681,8050.869,8050.886,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,15279b051b210378ca4022bc9cb3ef8ba516f53abea713566fbca7f6f0ad2be0,13439,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_2_turn_6,warm,True,12822,1280,0,14,0,4417.031,,4417.031,6480.752,6480.779,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,15279b051b210378ca4022bc9cb3ef8ba516f53abea713566fbca7f6f0ad2be0,12789,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_2_turn_7,warm,True,12855,1280,0,14,0,2258.128,,2258.128,3797.381,3797.417,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,a67b08dc86929232395c2f7b88dea323c430c567e0f132b972fba04edd66e089,12822,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_2_turn_7,warm,True,13505,128,0,23,0,3341.204,,3341.204,3674.447,3674.469,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,a67b08dc86929232395c2f7b88dea323c430c567e0f132b972fba04edd66e089,13472,0,,,,,143,19,1,1,0,0,0 +baseline,continuity,session_2_turn_8,warm,True,13538,128,0,14,0,1981.258,,1981.258,2387.678,2387.693,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,f2a38b9f8b2903456a5f99d472c48d3ec0edd56026f381bedbc57e9099fb0e02,13505,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_2_turn_8,warm,True,12888,12800,0,14,0,6568.679,,6568.679,9100.575,150345.618,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,f2a38b9f8b2903456a5f99d472c48d3ec0edd56026f381bedbc57e9099fb0e02,12855,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_2_turn_9,warm,True,12921,1280,0,14,0,3297.902,,3297.902,4010.744,4010.769,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,2b83c8b726d1264b2755b43faf4fc7a8d7b19496223b8d42d7a883f7034b1296,12888,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_2_turn_9,warm,True,13571,128,0,14,0,3326.65,,3326.65,4305.139,4305.16,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,2b83c8b726d1264b2755b43faf4fc7a8d7b19496223b8d42d7a883f7034b1296,13538,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_2_turn_10,warm,True,13604,128,0,14,0,8807.677,,8807.677,9712.387,9712.406,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,b57f989d0e65c12aa9d6e6f0af6881d4c0e56296e9688bf3d166090a561dd4f4,13571,0,,,,,86,9,1,1,0,0,0 +candidate,continuity,session_2_turn_10,warm,True,12954,1280,0,14,0,6481.86,,6481.86,7168.875,7168.894,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,b57f989d0e65c12aa9d6e6f0af6881d4c0e56296e9688bf3d166090a561dd4f4,12921,0,,,,,86,9,1,1,0,0,0 +baseline,continuity,session_3_turn_1,cold,True,13307,128,0,111,62,1572.232,1572.232,2438.991,3707.497,3707.512,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,348a9c3f5e5da169d0899985bd2b2ea33df16ea0fcb1aed9ac0c1aebc8df7414,11415,0,,,,,275,39,1,1,0,0,1 +candidate,continuity,session_3_turn_1,cold,True,12657,1280,0,85,45,3495.181,3495.181,4343.316,5668.402,5668.45,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,348a9c3f5e5da169d0899985bd2b2ea33df16ea0fcb1aed9ac0c1aebc8df7414,12536,0,,,,,211,31,1,1,0,0,1 +candidate,continuity,session_3_turn_2,warm,True,12690,1280,0,42,0,5896.538,,5896.538,7635.14,7635.166,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,ce3f94c5a8c9ff6ebeb4e1f6afb7601e5f163a011349c60bad55afb3c612f501,12657,0,,,,,232,34,1,1,0,0,0 +baseline,continuity,session_3_turn_2,warm,True,13340,128,0,62,37,24487.823,24487.823,24500.837,24899.883,24899.896,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,ce3f94c5a8c9ff6ebeb4e1f6afb7601e5f163a011349c60bad55afb3c612f501,13307,0,,,,,133,21,1,1,0,0,0 +baseline,continuity,session_3_turn_3,warm,True,13373,128,0,64,23,7184.293,7184.293,7793.519,10764.462,10764.504,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,cee755919bc651168c2873837c584b05da3a7ca2ae97768e69869ad9f8a1f0cd,13340,0,,,,,234,36,1,1,0,0,0 +candidate,continuity,session_3_turn_3,warm,True,12723,12672,0,44,23,17940.928,17940.928,17965.658,18290.047,152494.852,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,cee755919bc651168c2873837c584b05da3a7ca2ae97768e69869ad9f8a1f0cd,12690,0,,,,,128,16,1,1,0,0,0 +candidate,continuity,session_3_turn_4,warm,True,12756,1280,0,43,29,1834.776,1834.776,2638.212,3260.838,3260.857,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,b4b121029c647ed9ced26513e01e8036e9204ae9257f16dad442c01d9595c4a1,12723,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_3_turn_4,warm,True,13406,128,0,182,148,3420.223,3420.223,6577.411,7340.533,7340.554,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,b4b121029c647ed9ced26513e01e8036e9204ae9257f16dad442c01d9595c4a1,13373,0,,,,,213,28,1,1,0,0,0 +baseline,continuity,session_3_turn_5,warm,True,13439,128,0,14,0,2940.203,,2940.203,5707.111,5707.128,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,75a542a0f1ef1890b8a72d59b96f87a1ce890372a23e15fd568b16df9f461bd7,13406,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_3_turn_5,warm,False,,,,,,120163.145,,,,240657.318,1,False,0,0,2,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,75a542a0f1ef1890b8a72d59b96f87a1ce890372a23e15fd568b16df9f461bd7,12756,0,,,,,0,0,0,0,0,0,0 +candidate,continuity,session_3_turn_6,warm,True,12822,1280,0,14,0,8625.897,,8625.897,8692.981,8693.001,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,5e40f8be47137f48d06758a2155c0808f44c3eb852fe3f8dd1a6cf091a35c28c,12536,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_3_turn_6,warm,True,13472,128,0,26,0,6243.648,,6243.648,7518.12,7518.146,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,5e40f8be47137f48d06758a2155c0808f44c3eb852fe3f8dd1a6cf091a35c28c,13439,0,,,,,154,21,1,1,0,0,0 +baseline,continuity,session_3_turn_7,warm,True,13505,13440,0,14,0,18550.02,,18550.02,18651.133,138976.786,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,99fa491b0dbb6832b0c42d51e41235180ae342e95af5f7a8c77e3a886a5d03d4,13472,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_3_turn_7,warm,True,12855,1280,0,14,0,11713.686,,11713.686,13630.925,17256.884,1,False,0,1,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,99fa491b0dbb6832b0c42d51e41235180ae342e95af5f7a8c77e3a886a5d03d4,12822,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_3_turn_8,warm,True,12888,1280,0,14,0,7533.208,,7533.208,8977.123,8977.145,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,9804a68057e53b0146d066d5e26af019a02e9373f95eab1e3c089da3e189e47a,12855,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_3_turn_8,warm,True,13538,13440,0,14,0,24994.09,,24994.09,25267.657,145590.357,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,9804a68057e53b0146d066d5e26af019a02e9373f95eab1e3c089da3e189e47a,13505,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_3_turn_9,warm,True,13571,128,0,14,0,13609.084,,13609.084,13666.278,13666.307,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,9628d29e02502ca835d58f9e3b37d0cc64984d4ed5f0f0814eef1e6adb002032,13538,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_3_turn_9,warm,True,12921,1280,0,14,0,5672.84,,5672.84,6187.924,6187.949,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,9628d29e02502ca835d58f9e3b37d0cc64984d4ed5f0f0814eef1e6adb002032,12888,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_3_turn_10,warm,True,12954,1280,0,14,0,3990.599,,3990.599,4255.57,4255.596,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,de71bfe29c6c4365eaca3366a125d6a63a925c88309b24fd7ee1c117df77fad2,12921,0,,,,,86,9,1,1,0,0,0 +baseline,continuity,session_3_turn_10,warm,True,13604,128,0,14,0,2192.388,,2192.388,2512.775,2512.797,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,de71bfe29c6c4365eaca3366a125d6a63a925c88309b24fd7ee1c117df77fad2,13571,0,,,,,86,9,1,1,0,0,0 +candidate,continuity,session_4_turn_1,cold,True,12657,1280,0,109,51,3365.538,3365.538,4357.751,11049.51,11049.535,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,9d0d40bcbe094afa9b8365073ebba830859820f029198233bd1204221be2cb57,12536,0,,,,,298,44,1,1,0,0,1 +baseline,continuity,session_4_turn_1,cold,True,13307,128,0,112,69,18178.624,18178.624,19181.323,20394.366,30784.671,1,False,0,1,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,9d0d40bcbe094afa9b8365073ebba830859820f029198233bd1204221be2cb57,11415,0,,,,,216,30,1,1,0,0,1 +baseline,continuity,session_4_turn_2,warm,True,13340,128,0,97,67,13858.255,13858.255,15704.444,17446.204,17446.227,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,493cadd30a23425a5673cc67cf2ac599dfacb8e30b841089ffd2a2642dca0e91,13307,0,,,,,177,26,1,1,0,0,0 +candidate,continuity,session_4_turn_2,warm,True,12690,1280,0,88,48,5477.259,5477.259,7321.717,8055.055,8055.084,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,493cadd30a23425a5673cc67cf2ac599dfacb8e30b841089ffd2a2642dca0e91,12657,0,,,,,212,33,1,1,0,0,0 +candidate,continuity,session_4_turn_3,warm,True,12723,1280,0,31,0,13801.836,,13801.836,14763.109,14763.164,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,07e71977e755d6d4280f53f3ac36e0db24f407a8804b41f655f00ea9897c7c3f,12690,0,,,,,185,23,1,1,0,0,0 +baseline,continuity,session_4_turn_3,warm,True,13373,128,0,115,79,3304.573,3304.573,6039.86,8026.834,8026.858,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,07e71977e755d6d4280f53f3ac36e0db24f407a8804b41f655f00ea9897c7c3f,13340,0,,,,,220,30,1,1,0,0,0 +baseline,continuity,session_4_turn_4,warm,True,13406,128,0,14,0,10253.187,,10253.187,10350.386,10350.401,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,acb061d67cea8bdf5f68aff6e9bb179fb872e8870ca67dad2a0ae55306d4e969,13373,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_4_turn_4,warm,False,,,,,,120183.324,,,,240499.522,1,False,0,0,2,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,acb061d67cea8bdf5f68aff6e9bb179fb872e8870ca67dad2a0ae55306d4e969,12723,0,,,,,0,0,0,0,0,0,0 +candidate,continuity,session_4_turn_5,warm,True,12789,1280,0,37,0,3444.799,,3444.799,4512.844,4512.869,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,7b22b0c7cc56ebeaec2169b69769a4603389a78e2f5ad63d543397369ff32def,12536,0,,,,,221,30,1,1,0,0,0 +baseline,continuity,session_4_turn_5,warm,True,13439,128,0,26,0,8106.746,,8106.746,9093.775,9093.796,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,7b22b0c7cc56ebeaec2169b69769a4603389a78e2f5ad63d543397369ff32def,13406,0,,,,,154,21,1,1,0,0,0 +baseline,continuity,session_4_turn_6,warm,True,13472,128,0,14,0,3786.798,,3786.798,5407.647,5407.665,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,458c09a3c90d985066611e62467b8ebe05df50cd4a2d59d0a102704d5cd939a9,13439,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_4_turn_6,warm,True,12822,12800,0,14,0,26424.068,,26424.068,30885.467,151447.282,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,458c09a3c90d985066611e62467b8ebe05df50cd4a2d59d0a102704d5cd939a9,12789,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_4_turn_7,warm,True,12855,1280,0,14,0,1765.553,,1765.553,2332.025,9116.924,1,False,0,1,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,900ee2be97278198f980b04609e90885264b1a85174cce3d3acce42ba54356d1,12822,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_4_turn_7,warm,True,13505,13440,0,75,26,14308.758,14308.758,14837.152,15746.956,143108.315,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,900ee2be97278198f980b04609e90885264b1a85174cce3d3acce42ba54356d1,13472,0,,,,,256,37,1,1,0,0,0 +baseline,continuity,session_4_turn_8,warm,True,13538,128,0,14,0,5890.087,,5890.087,6006.976,6006.999,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,a7d9fed5cab2e63ba3ced2279c9be66b615541cf0dd2c623eed9abd52a792d97,13505,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_4_turn_8,warm,True,12888,1280,0,14,0,1820.842,,1820.842,2002.003,12379.532,1,False,0,1,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,a7d9fed5cab2e63ba3ced2279c9be66b615541cf0dd2c623eed9abd52a792d97,12855,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_4_turn_9,warm,True,12921,1280,0,14,0,2491.645,,2491.645,2591.881,2591.906,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,8440c4b2b874385ae96653660ee5d902f545769552ec558d4aba6410087f37e2,12888,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_4_turn_9,warm,True,13571,13568,0,14,0,11098.903,,11098.903,11187.433,131977.269,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,8440c4b2b874385ae96653660ee5d902f545769552ec558d4aba6410087f37e2,13538,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_4_turn_10,warm,True,13604,128,0,14,0,9385.063,,9385.063,9724.143,9724.163,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,4ea81605b393b2727ada8b16fbf259b27d0113b55aff7d3cc920c99a4dfe74d2,13571,0,,,,,86,9,1,1,0,0,0 +candidate,continuity,session_4_turn_10,warm,True,12954,1280,0,14,0,4750.18,,4750.18,12216.804,12216.82,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,4ea81605b393b2727ada8b16fbf259b27d0113b55aff7d3cc920c99a4dfe74d2,12921,0,,,,,86,9,1,1,0,0,0 +baseline,continuity,session_5_turn_1,cold,True,13307,13184,0,71,33,6580.981,6580.981,6996.109,10181.423,130508.461,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,5861ae10c4852ebf4db44554763132f76e7c7da9d1ec8e7a41179ce47dc0458d,11415,0,,,,,204,29,1,1,0,0,1 +candidate,continuity,session_5_turn_1,cold,True,12657,12544,0,60,25,1368.71,1368.71,1844.227,2803.945,139225.56,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,5861ae10c4852ebf4db44554763132f76e7c7da9d1ec8e7a41179ce47dc0458d,12536,0,,,,,204,25,1,1,0,0,1 +candidate,continuity,session_5_turn_2,warm,True,12690,1280,0,100,85,3536.923,3536.923,5013.297,6138.28,6138.308,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,3456feecafcb2118bb3f17eb6b636ff56c498c2656e135e5d35faa3111a86a24,12657,0,,,,,81,11,1,1,0,0,0 +baseline,continuity,session_5_turn_2,warm,True,13340,128,0,128,98,2790.921,2790.921,5222.014,6246.804,6246.834,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,3456feecafcb2118bb3f17eb6b636ff56c498c2656e135e5d35faa3111a86a24,13307,0,,,,,192,25,1,1,0,0,0 +baseline,continuity,session_5_turn_3,warm,True,13373,128,0,14,0,4155.502,,4155.502,4878.564,4878.587,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,9610bcba9239145be5e062862e217b189e41d398855afaba5ea8def19592c71c,13340,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_5_turn_3,warm,True,12723,1280,0,81,39,6484.999,6484.999,7127.761,8813.884,8813.913,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,9610bcba9239145be5e062862e217b189e41d398855afaba5ea8def19592c71c,12690,0,,,,,217,34,1,1,0,0,0 +candidate,continuity,session_5_turn_4,warm,True,12756,1280,0,14,0,3037.98,,3037.98,3442.007,3442.034,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,bb0c3e1a1b0faf28d83309294d27a42a4e4972bd6a13ffcec5be15f416d050d0,12723,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_5_turn_4,warm,True,13406,13312,0,106,61,1486.427,1486.427,2791.997,6283.973,126600.315,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,bb0c3e1a1b0faf28d83309294d27a42a4e4972bd6a13ffcec5be15f416d050d0,13373,0,,,,,253,36,1,1,0,0,0 +baseline,continuity,session_5_turn_5,warm,True,13439,128,0,69,26,9004.624,9004.624,9234.674,13637.756,20609.117,1,False,0,1,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,8555c3ec84863a4693b8d86997189ecfb0d40fe4a2ac5df4d55e412c1fdb4df3,13406,0,,,,,239,36,1,1,0,0,0 +candidate,continuity,session_5_turn_5,warm,True,12789,1280,0,14,0,5625.337,,5625.337,7816.749,7816.769,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,8555c3ec84863a4693b8d86997189ecfb0d40fe4a2ac5df4d55e412c1fdb4df3,12756,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_5_turn_6,warm,True,12822,1280,0,30,0,5780.575,,5780.575,7400.648,7400.676,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,789bd32f60d16cc0a4d6dec92d8799271bb33ef0f41f38a17794554ab310c07e,12789,0,,,,,178,22,1,1,0,0,0 +baseline,continuity,session_5_turn_6,warm,True,13472,13440,0,14,0,3691.817,,3691.817,6071.091,126397.892,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,789bd32f60d16cc0a4d6dec92d8799271bb33ef0f41f38a17794554ab310c07e,13439,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_5_turn_7,warm,True,13505,128,0,38,0,3538.856,,3538.856,6399.932,6399.956,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,f5d00a6ec6ad331679ed134f20876fcf60e3b0da4b8425ff64c039de44cf47f1,13472,0,,,,,203,31,1,1,0,0,0 +candidate,continuity,session_5_turn_7,warm,True,12855,1280,0,14,0,6145.01,,6145.01,7712.216,7712.235,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,f5d00a6ec6ad331679ed134f20876fcf60e3b0da4b8425ff64c039de44cf47f1,12822,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_5_turn_8,warm,True,12888,1280,0,14,0,5029.628,,5029.628,5668.94,16046.794,1,False,0,1,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,0c2ca636ca230f911ee3a92a38a968fa1118738ae6f82fa555717b198e9968fb,12855,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_5_turn_8,warm,True,13538,13440,0,14,0,5497.628,,5497.628,9653.846,130124.009,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,0c2ca636ca230f911ee3a92a38a968fa1118738ae6f82fa555717b198e9968fb,13505,0,,,,,85,9,1,1,0,0,0 +baseline,continuity,session_5_turn_9,warm,True,13571,128,0,14,0,10872.471,,10872.471,12963.045,12963.067,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,437e7287343f5d2c1cf5f834ff5a294578080ed3f2c9fd72f17098430acb1e17,13538,0,,,,,85,9,1,1,0,0,0 +candidate,continuity,session_5_turn_9,warm,True,12921,1280,0,22,0,7320.623,,7320.623,7701.284,128027.008,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,437e7287343f5d2c1cf5f834ff5a294578080ed3f2c9fd72f17098430acb1e17,12888,0,,,,,117,17,1,1,0,0,0 +candidate,continuity,session_5_turn_10,warm,True,12954,12928,0,14,0,4819.205,,4819.205,5989.569,126313.804,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,b9e0534a77b613f3752aed3112c4781ed975c475e180f4cc7aa4b1658bf8a5f2,12921,0,,,,,86,9,1,1,0,0,0 +baseline,continuity,session_5_turn_10,warm,True,13604,128,0,14,0,9204.949,,9204.949,9551.197,9551.215,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,b9e0534a77b613f3752aed3112c4781ed975c475e180f4cc7aa4b1658bf8a5f2,13571,0,,,,,86,9,1,1,0,0,0 +baseline,multitask,explain,,True,13297,128,0,108,18,4567.409,4567.409,4621.705,11558.268,11558.291,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,b34c34805d8ebd188b6062933fde4bbc7c34fc08eb8150745a2ff98ce50efc21,,0,True,True,False,False,439,66,1,1,0,0,0 +candidate,multitask,explain,,True,12647,1152,0,104,18,2909.366,2909.366,3357.276,9564.138,9564.153,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,b34c34805d8ebd188b6062933fde4bbc7c34fc08eb8150745a2ff98ce50efc21,,0,True,True,False,False,417,64,1,1,0,0,0 +candidate,multitask,advice,,True,12653,12544,0,256,67,4703.891,4703.891,4840.483,19573.848,139885.7,1,True,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,9b1ba6a445737760f7670d70dcd86125db61e7b4ed201709609fee3ffd375b94,,0,False,True,False,False,817,145,7,4,3,0,3 +baseline,multitask,advice,,True,13303,128,0,256,69,14103.157,14103.157,15774.243,21589.805,21589.831,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,9b1ba6a445737760f7670d70dcd86125db61e7b4ed201709609fee3ffd375b94,,0,False,True,False,False,821,140,7,4,3,0,3 +baseline,multitask,summary,,True,13329,128,0,168,122,7252.777,7252.777,,10076.022,10076.045,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,9516efb4806b1017fa62c1974b3ff7ee895e29bce3c244ed81684422d36796ae,,1,False,False,False,False,0,0,0,0,0,0,0 +candidate,multitask,summary,,True,12679,1280,0,82,48,2461.269,2461.269,3194.591,5188.579,5188.599,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,9516efb4806b1017fa62c1974b3ff7ee895e29bce3c244ed81684422d36796ae,,0,True,True,False,False,182,30,1,1,0,0,0 +candidate,multitask,technical_comparison,,True,12655,12544,0,221,39,3996.003,3996.003,4230.243,12931.114,140053.189,1,False,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,b756c2f93cd5c267c71ce7c8d1ff2a054530faeb08f45ea0f812c351cc3eeb03,,0,True,True,False,False,791,117,4,1,4,0,4 +baseline,multitask,technical_comparison,,True,13305,128,0,242,45,8918.945,8918.945,10156.976,16549.636,16549.67,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,b756c2f93cd5c267c71ce7c8d1ff2a054530faeb08f45ea0f812c351cc3eeb03,,0,True,True,False,False,851,126,4,1,4,0,4 +baseline,multitask,business_writing,,True,13310,13184,0,112,29,5739.337,5739.337,6305.406,11163.662,131492.22,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,52149552292eee4ae9c6c012a291932fc2356daa3bc4cc0fe6874f9bedded441,,0,True,True,False,False,345,61,10,5,0,0,0 +candidate,multitask,business_writing,,True,12660,1280,0,108,38,3793.594,3793.594,4326.524,7723.234,7723.259,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,52149552292eee4ae9c6c012a291932fc2356daa3bc4cc0fe6874f9bedded441,,0,True,True,False,False,287,52,10,5,0,0,0 +candidate,multitask,retired_summarize,,True,12674,1280,0,67,44,5816.057,5816.057,7988.649,11842.497,11842.516,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,5b74800560f1d42f2a369a5e110167a16f8784ae34377eb3e74a0ca671105e8b,,0,True,True,False,False,81,15,1,1,0,0,0 +baseline,multitask,retired_summarize,,True,13324,128,0,80,57,9155.508,9155.508,10441.17,16543.415,16543.441,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,5b74800560f1d42f2a369a5e110167a16f8784ae34377eb3e74a0ca671105e8b,,0,True,True,False,False,81,15,1,1,0,0,0 +baseline,multitask,retired_weather,,True,13306,128,0,125,81,5924.129,5924.129,,9081.747,9081.767,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,235da014104e000a6c679a9beb69c3da414f2473e441cb6d137d0a4512494343,,1,False,False,False,False,0,0,0,0,0,0,0 +candidate,multitask,retired_weather,,True,12656,1280,0,250,122,5626.028,5626.028,,8657.693,8657.713,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,235da014104e000a6c679a9beb69c3da414f2473e441cb6d137d0a4512494343,,1,True,True,False,False,0,0,0,0,0,0,0 +candidate,multitask,hidden_filesystem,,True,12653,1280,0,67,19,6238.298,6238.298,,8936.117,8936.149,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,b35d1e9fb8e2b085ef639f715e9aec6fa2aea0320dc664c8b4a4d65da77a7ccf,,1,True,True,False,False,0,0,0,0,0,0,0 +baseline,multitask,hidden_filesystem,,True,13303,128,0,68,20,16281.978,16281.978,,17924.158,17924.182,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,b35d1e9fb8e2b085ef639f715e9aec6fa2aea0320dc664c8b4a4d65da77a7ccf,,1,True,True,False,False,0,0,0,0,0,0,0 +baseline,multitask,retired_git_diff,,True,13302,13184,0,121,75,5051.573,5051.573,,9941.563,130377.414,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,ca16682bf413df1a58d0ec5e55aff7e2b4c8759ab404f57a14db61375b9e67a3,,1,False,False,False,False,0,0,0,0,0,0,0 +candidate,multitask,retired_git_diff,,True,12652,1280,0,70,28,6103.566,6103.566,,7411.221,7411.241,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,ca16682bf413df1a58d0ec5e55aff7e2b4c8759ab404f57a14db61375b9e67a3,,2,True,True,False,False,0,0,0,0,0,0,0 +candidate,multitask,retired_nano_pdf,,True,12660,1280,0,73,26,2258.341,2258.341,,4053.8,4053.829,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,8242792e350da00c4248195d6102dce93b896b5d4b3309f0c41640d15e675a47,,1,True,True,False,False,0,0,0,0,0,0,0 +baseline,multitask,retired_nano_pdf,,True,13310,128,0,114,67,7381.786,7381.786,,9628.175,9628.196,0,False,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,8242792e350da00c4248195d6102dce93b896b5d4b3309f0c41640d15e675a47,,1,True,True,False,False,0,0,0,0,0,0,0 +baseline,multitask,retired_seedance,,True,13306,13184,0,185,136,2890.226,2890.226,,7533.375,127861.299,1,False,0,0,1,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,1f5680e80a941f67009b9207c44371fa0d4ce8a9815455fcb88164abead687f4,,1,True,True,False,False,0,0,0,0,0,0,0 +candidate,multitask,retired_seedance,,True,12656,1280,0,155,106,6650.675,6650.675,,8445.153,8445.176,0,False,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,1f5680e80a941f67009b9207c44371fa0d4ce8a9815455fcb88164abead687f4,,1,True,True,False,False,0,0,0,0,0,0,0 +candidate,multitask,retired_ai_video_script,,True,12660,12544,0,256,256,1247.258,1247.258,,5692.253,134924.449,1,True,0,0,1,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,83f5c30aa7dd2fa6697459d16d9d8f70b86422bf7c4432c16165c39a25f4dc5f,,0,False,False,False,False,0,0,0,0,0,0,0 +baseline,multitask,retired_ai_video_script,,True,13310,128,0,256,256,2883.177,2883.177,,6686.018,6686.035,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,83f5c30aa7dd2fa6697459d16d9d8f70b86422bf7c4432c16165c39a25f4dc5f,,0,False,False,False,False,0,0,0,0,0,0,0 +baseline,multitask,paper_dependency_replacement,,True,13303,128,0,256,256,1257.722,1257.722,,4521.207,4521.227,0,True,0,0,0,0,71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,614a273c1276ea73f456730f8336c595c81e61ccc8c56604d14da9726457700d,,0,False,False,False,False,0,0,0,0,0,0,0 +candidate,multitask,paper_dependency_replacement,,True,12653,1280,0,256,256,2004.064,2004.064,,4008.673,4008.685,0,True,0,0,0,1,5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49,bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b,614a273c1276ea73f456730f8336c595c81e61ccc8c56604d14da9726457700d,,0,False,False,False,False,0,0,0,0,0,0,0 +candidate,multitask,retired_sub_agent,,True,12762,128,0,74,29,3334.693,3334.693,,4345.545,4345.565,0,False,0,0,0,1,dd4a26913520e3f1caf019f1ec5d56bf3644bce9d1f870f75f649918c4e63af2,d452d2107d826bffcae2c53f859caea807121b971332928b71aa4e9a1dc1288a,c4e2d1a2fd36b29f4b70bbbe08164fb0d8e5ede217d2689cb92dac4006216cbf,,1,True,True,False,False,0,0,0,0,0,0,0 +baseline,multitask,retired_sub_agent,,True,13324,13312,0,100,55,1240.15,1240.15,,4085.756,126864.216,1,False,0,0,1,0,60bb59aa9257ac5abe35bc588497abd0cab6e742806da11a2ac031581f759c3c,e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f,c4e2d1a2fd36b29f4b70bbbe08164fb0d8e5ede217d2689cb92dac4006216cbf,,1,True,True,False,False,0,0,0,0,0,0,0 diff --git a/docs/evidence/skill-simplification/raw.json b/docs/evidence/skill-simplification/raw.json new file mode 100644 index 0000000000..e5c046e150 --- /dev/null +++ b/docs/evidence/skill-simplification/raw.json @@ -0,0 +1,9275 @@ +{ + "schema_version": 1, + "generated_at_utc": "2026-08-29T19:40:32Z", + "identity": { + "baseline_commit_sha": "27ca02ca4596f8f24fe79ab603f068cbec6ab858", + "candidate_commit_sha": "058a7675a24177f513ca9262b1d0db96578c1e58", + "baseline_worktree": { + "state": "clean", + "entry_count": 0, + "porcelain_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "candidate_worktree": { + "state": "clean", + "entry_count": 0, + "porcelain_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "candidate_snapshot_method": "git commit-tree over a temporary index", + "provider": "tokenrhythm", + "model": "deepseek-v4-pro-0813", + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_schema_count": 58, + "machine": { + "os": "Darwin", + "architecture": "arm64", + "python": "3.12.13" + } + }, + "parameters": { + "temperature": null, + "top_p": null, + "concurrency": 1, + "output_limit_tokens": 256, + "calibration_output_limit_tokens": 32, + "request_timeout_seconds": 150.0, + "micro_groups": 5, + "micro_order": "alternating ABBA/BAAB", + "continuity_sessions": 5, + "continuity_turns_per_session": 10, + "synthetic_only": true, + "skills_max_prompt_chars": 8000, + "meta_skill_enabled": true, + "meta_auto_trigger": true, + "default_coding_mode": false, + "cold_cache_definition": "first request in each synthetic continuity session", + "warm_cache_definition": "turns 2-10 in the same fixed-history session" + }, + "prompt_identity": { + "base_system_developer_prompt": "System instructions:\nYou are OpenSquilla running a synthetic, non-user benchmark. Follow the task\naccurately, use a listed Skill only when it clearly applies, and never invent\ntool results.\n\nDeveloper instructions:\nBe concise. Use the available tools when current or workspace state is needed.\nWhen a catalog entry is relevant, follow its documented loading route.", + "dynamic_suffix_template": "Synthetic per-turn context: {request_key}. No private user data is present.", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "baseline_catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "candidate_catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49" + }, + "catalogs": { + "baseline": { + "layout": "catalog_after_dynamic", + "eligibility_profile": "synthetic_full_capability", + "physical_bundled_count": 75, + "model_visible_bundled_count": 48, + "rendered_bundled_count": 48, + "complete_catalog_chars": 21675, + "actual_catalog_chars": 6777, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "catalog_generation": 0, + "catalog_names": [ + "AwesomeWebpageMetaSkill", + "advanced-dubbing-studio", + "ai-video-script", + "audio-cog", + "cron", + "deep-research", + "docx", + "filesystem", + "git-diff", + "github", + "history-explorer", + "html-coder", + "html-to-pdf", + "http-fetch", + "latex-compile", + "meta-paper-write", + "meta-short-drama", + "meta-skill-creator", + "multi-search-engine", + "music-and-singing-studio", + "nano-banana-pro", + "nano-pdf", + "paper-abstract-author", + "paper-citation-planner", + "paper-experiment-stub", + "paper-outline-author", + "paper-plot-stub", + "paper-preference-planner", + "paper-revision-author", + "paper-source-curator", + "pdf-toolkit", + "pptx", + "seedance-2-prompt", + "skill-creator", + "sub-agent", + "subtitle-burner", + "summarize", + "text-file-read", + "title-card-image", + "tmux", + "video-merger", + "video-still-animator", + "voice-clone-lab", + "voice-conversion-studio", + "voiceover-studio", + "weather", + "web-search", + "xlsx" + ], + "omitted_count": 0, + "local_timing": { + "cold_catalog_build_ms": 196.8915, + "warm_snapshot_iterations": 500, + "warm_snapshot_ms_median": 8.3e-05, + "warm_snapshot_ms_mean": 9.7e-05, + "render_iterations": 500, + "render_ms_median": 0.174208, + "render_ms_mean": 0.177417 + }, + "tool_schema_count": 58, + "tool_schema_chars": 50012, + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_names": [ + "agents_list", + "apply_patch", + "audio_config", + "audio_provider_capabilities", + "background_process", + "create_csv", + "create_pdf_report", + "create_xlsx", + "cron", + "dubbing_download", + "dubbing_generate", + "dubbing_status", + "edit_file", + "exec_command", + "execute_code", + "gateway", + "git_commit", + "git_diff", + "git_log", + "git_status", + "glob_search", + "grep_search", + "http_request", + "image", + "image_generate", + "install_skill_deps", + "list_dir", + "message", + "meta_invoke", + "music_generate", + "pdf", + "process", + "publish_artifact", + "read_file", + "read_spreadsheet", + "router_control", + "session_status", + "sessions_history", + "sessions_list", + "sessions_send", + "sessions_spawn", + "sessions_yield", + "skill_create", + "skill_delete", + "skill_edit", + "skill_install_community", + "skill_list", + "skill_search_community", + "skill_view", + "song_generate", + "tts", + "voice_clone", + "voice_convert", + "voice_search", + "web_discover", + "web_fetch", + "web_search", + "write_file" + ] + }, + "candidate": { + "layout": "catalog_before_dynamic", + "eligibility_profile": "synthetic_full_capability", + "physical_bundled_count": 44, + "model_visible_bundled_count": 11, + "rendered_bundled_count": 11, + "complete_catalog_chars": 6059, + "actual_catalog_chars": 4509, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "catalog_generation": 1, + "catalog_names": [ + "deep-research", + "docx", + "github", + "html-coder", + "pdf-toolkit", + "pptx", + "skill-creator", + "xlsx", + "meta-paper-write", + "meta-short-drama", + "meta-skill-creator" + ], + "omitted_count": 0, + "local_timing": { + "cold_catalog_build_ms": 240.668125, + "warm_snapshot_iterations": 500, + "warm_snapshot_ms_median": 0.000167, + "warm_snapshot_ms_mean": 0.000166, + "render_iterations": 500, + "render_ms_median": 0.057625, + "render_ms_mean": 0.057689 + }, + "tool_schema_count": 58, + "tool_schema_chars": 50012, + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_names": [ + "agents_list", + "apply_patch", + "audio_config", + "audio_provider_capabilities", + "background_process", + "create_csv", + "create_pdf_report", + "create_xlsx", + "cron", + "dubbing_download", + "dubbing_generate", + "dubbing_status", + "edit_file", + "exec_command", + "execute_code", + "gateway", + "git_commit", + "git_diff", + "git_log", + "git_status", + "glob_search", + "grep_search", + "http_request", + "image", + "image_generate", + "install_skill_deps", + "list_dir", + "message", + "meta_invoke", + "music_generate", + "pdf", + "process", + "publish_artifact", + "read_file", + "read_spreadsheet", + "router_control", + "session_status", + "sessions_history", + "sessions_list", + "sessions_send", + "sessions_spawn", + "sessions_yield", + "skill_create", + "skill_delete", + "skill_edit", + "skill_install_community", + "skill_list", + "skill_search_community", + "skill_view", + "song_generate", + "tts", + "voice_clone", + "voice_convert", + "voice_search", + "web_discover", + "web_fetch", + "web_search", + "write_file" + ] + } + }, + "coding_catalogs": { + "baseline": { + "layout": "catalog_after_dynamic", + "eligibility_profile": "synthetic_full_capability", + "physical_bundled_count": 75, + "model_visible_bundled_count": 49, + "rendered_bundled_count": 49, + "complete_catalog_chars": 23082, + "actual_catalog_chars": 6838, + "catalog_digest": "60bb59aa9257ac5abe35bc588497abd0cab6e742806da11a2ac031581f759c3c", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "catalog_generation": 0, + "catalog_names": [ + "AwesomeWebpageMetaSkill", + "advanced-dubbing-studio", + "ai-video-script", + "audio-cog", + "code-task", + "cron", + "deep-research", + "docx", + "filesystem", + "git-diff", + "github", + "history-explorer", + "html-coder", + "html-to-pdf", + "http-fetch", + "latex-compile", + "meta-paper-write", + "meta-short-drama", + "meta-skill-creator", + "multi-search-engine", + "music-and-singing-studio", + "nano-banana-pro", + "nano-pdf", + "paper-abstract-author", + "paper-citation-planner", + "paper-experiment-stub", + "paper-outline-author", + "paper-plot-stub", + "paper-preference-planner", + "paper-revision-author", + "paper-source-curator", + "pdf-toolkit", + "pptx", + "seedance-2-prompt", + "skill-creator", + "sub-agent", + "subtitle-burner", + "summarize", + "text-file-read", + "title-card-image", + "tmux", + "video-merger", + "video-still-animator", + "voice-clone-lab", + "voice-conversion-studio", + "voiceover-studio", + "weather", + "web-search", + "xlsx" + ], + "omitted_count": 0, + "local_timing": { + "cold_catalog_build_ms": 214.337, + "warm_snapshot_iterations": 500, + "warm_snapshot_ms_median": 0.000125, + "warm_snapshot_ms_mean": 0.000129, + "render_iterations": 500, + "render_ms_median": 0.220187, + "render_ms_mean": 0.220714 + }, + "tool_schema_count": 58, + "tool_schema_chars": 50012, + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_names": [ + "agents_list", + "apply_patch", + "audio_config", + "audio_provider_capabilities", + "background_process", + "create_csv", + "create_pdf_report", + "create_xlsx", + "cron", + "dubbing_download", + "dubbing_generate", + "dubbing_status", + "edit_file", + "exec_command", + "execute_code", + "gateway", + "git_commit", + "git_diff", + "git_log", + "git_status", + "glob_search", + "grep_search", + "http_request", + "image", + "image_generate", + "install_skill_deps", + "list_dir", + "message", + "meta_invoke", + "music_generate", + "pdf", + "process", + "publish_artifact", + "read_file", + "read_spreadsheet", + "router_control", + "session_status", + "sessions_history", + "sessions_list", + "sessions_send", + "sessions_spawn", + "sessions_yield", + "skill_create", + "skill_delete", + "skill_edit", + "skill_install_community", + "skill_list", + "skill_search_community", + "skill_view", + "song_generate", + "tts", + "voice_clone", + "voice_convert", + "voice_search", + "web_discover", + "web_fetch", + "web_search", + "write_file" + ] + }, + "candidate": { + "layout": "catalog_before_dynamic", + "eligibility_profile": "synthetic_full_capability", + "physical_bundled_count": 44, + "model_visible_bundled_count": 12, + "rendered_bundled_count": 12, + "complete_catalog_chars": 7516, + "actual_catalog_chars": 4878, + "catalog_digest": "dd4a26913520e3f1caf019f1ec5d56bf3644bce9d1f870f75f649918c4e63af2", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "catalog_generation": 1, + "catalog_names": [ + "deep-research", + "docx", + "github", + "html-coder", + "pdf-toolkit", + "pptx", + "skill-creator", + "xlsx", + "code-task", + "meta-paper-write", + "meta-short-drama", + "meta-skill-creator" + ], + "omitted_count": 0, + "local_timing": { + "cold_catalog_build_ms": 172.391958, + "warm_snapshot_iterations": 500, + "warm_snapshot_ms_median": 0.000125, + "warm_snapshot_ms_mean": 0.000119, + "render_iterations": 500, + "render_ms_median": 0.051834, + "render_ms_mean": 0.052106 + }, + "tool_schema_count": 58, + "tool_schema_chars": 50012, + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_names": [ + "agents_list", + "apply_patch", + "audio_config", + "audio_provider_capabilities", + "background_process", + "create_csv", + "create_pdf_report", + "create_xlsx", + "cron", + "dubbing_download", + "dubbing_generate", + "dubbing_status", + "edit_file", + "exec_command", + "execute_code", + "gateway", + "git_commit", + "git_diff", + "git_log", + "git_status", + "glob_search", + "grep_search", + "http_request", + "image", + "image_generate", + "install_skill_deps", + "list_dir", + "message", + "meta_invoke", + "music_generate", + "pdf", + "process", + "publish_artifact", + "read_file", + "read_spreadsheet", + "router_control", + "session_status", + "sessions_history", + "sessions_list", + "sessions_send", + "sessions_spawn", + "sessions_yield", + "skill_create", + "skill_delete", + "skill_edit", + "skill_install_community", + "skill_list", + "skill_search_community", + "skill_view", + "song_generate", + "tts", + "voice_clone", + "voice_convert", + "voice_search", + "web_discover", + "web_fetch", + "web_search", + "write_file" + ] + } + }, + "calibration": { + "shared": { + "system_developer_tokens": 72, + "tool_schema_tokens": 11343 + }, + "versions": { + "baseline": { + "catalog_tokens": 1771, + "cacheable_prefix_tokens": 11415, + "body_tokens": { + "ordinary": 744, + "meta_step": 2317 + } + }, + "candidate": { + "catalog_tokens": 1121, + "cacheable_prefix_tokens": 12536, + "body_tokens": { + "ordinary": 744, + "meta_step": 2317 + } + } + }, + "body_samples": { + "baseline": { + "ordinary": { + "skill": "github", + "chars": 2430, + "digest": "73380d1a356321d3393dd7170c302554b197362885fe306addd0cf5a49d21a9b" + }, + "meta_step": { + "skill": "paper-section-author", + "chars": 10356, + "digest": "0a5bf34d20aa95da647d7a1d51de57f863298f8d3d2b33ed258b26b5a2b39731" + } + }, + "candidate": { + "ordinary": { + "skill": "github", + "chars": 2430, + "digest": "73380d1a356321d3393dd7170c302554b197362885fe306addd0cf5a49d21a9b" + }, + "meta_step": { + "skill": "paper-section-author", + "chars": 10356, + "digest": "0a5bf34d20aa95da647d7a1d51de57f863298f8d3d2b33ed258b26b5a2b39731" + } + } + } + }, + "rows": [ + { + "success": true, + "input_tokens": 92, + "cached_input_tokens": 0, + "cache_write_tokens": 0, + "output_tokens": 25, + "reasoning_tokens": 23, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1217.46, + "first_reasoning_ms": 1217.46, + "first_visible_ms": 1570.223, + "successful_attempt_ms": 1691.006, + "version": "shared", + "suite": "calibration", + "task_id": "empty", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "dynamic_suffix_digest": "25f05ded1bd13b899e898514093d76597d8772bdb9fc73edd8065d8bdcb39fbb", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1691.006 + } + ], + "retry_count": 0, + "end_to_end_ms": 1691.045, + "truncated": false, + "system_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 164, + "cached_input_tokens": 0, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 12, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1531.64, + "first_reasoning_ms": 1531.64, + "first_visible_ms": 1924.057, + "successful_attempt_ms": 2115.704, + "version": "shared", + "suite": "calibration", + "task_id": "base_system_developer", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "cdc8f2e0ce6c9449b20a7eb32c97e71ec71742a9c422b476e3487659cec65995", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2115.704 + } + ], + "retry_count": 0, + "end_to_end_ms": 2115.734, + "truncated": false, + "system_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 11435, + "cached_input_tokens": 256, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 5226.402, + "first_reasoning_ms": null, + "first_visible_ms": 5226.402, + "successful_attempt_ms": 5511.974, + "version": "shared", + "suite": "calibration", + "task_id": "tool_schema", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "dynamic_suffix_digest": "ed12a693c15914f15e05ce5d03729f882da1f0e9cf2eecbca500199c7e0ba4ea", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5511.974 + } + ], + "retry_count": 0, + "end_to_end_ms": 5511.993, + "truncated": false, + "system_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 11524, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 867.013, + "first_reasoning_ms": null, + "first_visible_ms": 867.013, + "successful_attempt_ms": 967.318, + "version": "shared", + "suite": "calibration", + "task_id": "catalogless", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "6c519107eeafa06df79ee67d3f4ef29c105b2aa59604393f08fb3509fcfba2a1", + "dynamic_suffix_digest": "2ef0aaa14e8ddb89d14afafef2093141c66555bf2ae8c69beda988573000ffb8", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 967.318 + } + ], + "retry_count": 0, + "end_to_end_ms": 967.339, + "truncated": false, + "system_digest": "6c519107eeafa06df79ee67d3f4ef29c105b2aa59604393f08fb3509fcfba2a1", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13295, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1907.321, + "first_reasoning_ms": null, + "first_visible_ms": 1907.321, + "successful_attempt_ms": 2088.332, + "version": "baseline", + "suite": "calibration", + "task_id": "catalog", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "59ba2353370379463dcd623ca9a62a7d7b7d2e9c6337ee06af18f3edff65e5a2", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2088.332 + } + ], + "retry_count": 0, + "end_to_end_ms": 2088.353, + "truncated": false, + "system_digest": "f778bada38976bf8a68d6020b8669e36affa42a8062c31ec7fb2f8c38c9e2966", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 11507, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1443.356, + "first_reasoning_ms": null, + "first_visible_ms": 1443.356, + "successful_attempt_ms": 1881.895, + "version": "baseline", + "suite": "calibration", + "task_id": "cacheable_prefix", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "932efce5b79a7492a1ca894c802b493f6d265fb5b985d2dee8908aa10f9efe9d", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1881.895 + } + ], + "retry_count": 0, + "end_to_end_ms": 1881.917, + "truncated": false, + "system_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13297, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 32, + "reasoning_tokens": 32, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 758.796, + "first_reasoning_ms": 758.796, + "first_visible_ms": null, + "successful_attempt_ms": 1629.579, + "version": "baseline", + "suite": "calibration", + "task_id": "body_ordinary_base", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "ae4aa9ab9554fdc17e4e7995b835c4f1f7f467e965c66430a3fcdd2a9d7a1b72", + "dynamic_suffix_digest": "0a43a83b3cc8d8d44c01b337ad0e165ce7c229374a38c65a37c99886ad28dbed", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1629.579 + } + ], + "retry_count": 0, + "end_to_end_ms": 1629.602, + "truncated": true, + "system_digest": "ae4aa9ab9554fdc17e4e7995b835c4f1f7f467e965c66430a3fcdd2a9d7a1b72", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 14041, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 3091.736, + "first_reasoning_ms": null, + "first_visible_ms": 3091.736, + "successful_attempt_ms": 3241.008, + "version": "baseline", + "suite": "calibration", + "task_id": "body_ordinary", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "c8feed1cc1a0ce652cdc58c53d86909fca2b95f959a9af224897285dbb404308", + "dynamic_suffix_digest": "44b5d5a489a48b157920f2dd624963e0db615e445c6d27cf8a1d18bb8078cd8f", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3241.008 + } + ], + "retry_count": 0, + "end_to_end_ms": 3241.028, + "truncated": false, + "system_digest": "c8feed1cc1a0ce652cdc58c53d86909fca2b95f959a9af224897285dbb404308", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13298, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 2859.907, + "first_reasoning_ms": null, + "first_visible_ms": 2859.907, + "successful_attempt_ms": 2979.991, + "version": "baseline", + "suite": "calibration", + "task_id": "body_meta_step_base", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "302e068278938f43442de935e031d9bcc525543da36f3d94fd7be04d99ca67fb", + "dynamic_suffix_digest": "7c62b3844d02ac28ecfbd70ba75c871693baa0863001ed3fa283a53b43488036", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2979.991 + } + ], + "retry_count": 0, + "end_to_end_ms": 2980.013, + "truncated": false, + "system_digest": "302e068278938f43442de935e031d9bcc525543da36f3d94fd7be04d99ca67fb", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 15615, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 32, + "reasoning_tokens": 32, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 3397.727, + "first_reasoning_ms": 3397.727, + "first_visible_ms": null, + "successful_attempt_ms": 4299.403, + "version": "baseline", + "suite": "calibration", + "task_id": "body_meta_step", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "534fe814b9550d33c14c58b2755ea15c984a8f5e2444e5ac79a9c944a5b4a4e0", + "dynamic_suffix_digest": "0a467caac58b83b53ff7fc57f690dce955e9631ef4f92d3579df68e2381e62b0", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4299.403 + } + ], + "retry_count": 0, + "end_to_end_ms": 4299.432, + "truncated": true, + "system_digest": "534fe814b9550d33c14c58b2755ea15c984a8f5e2444e5ac79a9c944a5b4a4e0", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12645, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1444.097, + "first_reasoning_ms": null, + "first_visible_ms": 1444.097, + "successful_attempt_ms": 1572.843, + "version": "candidate", + "suite": "calibration", + "task_id": "catalog", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "59ba2353370379463dcd623ca9a62a7d7b7d2e9c6337ee06af18f3edff65e5a2", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120405.891 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1572.843 + } + ], + "retry_count": 1, + "end_to_end_ms": 122229.622, + "truncated": false, + "system_digest": "b9c9cebd23619b1fe1dc040cb6138ca3e3b7acb67981a79bade6894c4e7d8309", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12628, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 2558.122, + "first_reasoning_ms": null, + "first_visible_ms": 2558.122, + "successful_attempt_ms": 2747.094, + "version": "candidate", + "suite": "calibration", + "task_id": "cacheable_prefix", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "932efce5b79a7492a1ca894c802b493f6d265fb5b985d2dee8908aa10f9efe9d", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2747.094 + } + ], + "retry_count": 0, + "end_to_end_ms": 2747.117, + "truncated": false, + "system_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12647, + "cached_input_tokens": 1152, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1922.757, + "first_reasoning_ms": null, + "first_visible_ms": 1922.757, + "successful_attempt_ms": 2112.309, + "version": "candidate", + "suite": "calibration", + "task_id": "body_ordinary_base", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "ad8194187c27dcccd75471ae97ca32c2dce653c534fc5a9e6649a3c01490084c", + "dynamic_suffix_digest": "0a43a83b3cc8d8d44c01b337ad0e165ce7c229374a38c65a37c99886ad28dbed", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2112.309 + } + ], + "retry_count": 0, + "end_to_end_ms": 2112.319, + "truncated": false, + "system_digest": "ad8194187c27dcccd75471ae97ca32c2dce653c534fc5a9e6649a3c01490084c", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13391, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1657.911, + "first_reasoning_ms": null, + "first_visible_ms": 1657.911, + "successful_attempt_ms": 1808.343, + "version": "candidate", + "suite": "calibration", + "task_id": "body_ordinary", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "3d94d9af725e786b9aaa0f22bb35a4a915bc6c43ab71207464f8fe8d60946be5", + "dynamic_suffix_digest": "44b5d5a489a48b157920f2dd624963e0db615e445c6d27cf8a1d18bb8078cd8f", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1808.343 + } + ], + "retry_count": 0, + "end_to_end_ms": 1808.358, + "truncated": false, + "system_digest": "3d94d9af725e786b9aaa0f22bb35a4a915bc6c43ab71207464f8fe8d60946be5", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12648, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 2322.397, + "first_reasoning_ms": null, + "first_visible_ms": 2322.397, + "successful_attempt_ms": 2420.389, + "version": "candidate", + "suite": "calibration", + "task_id": "body_meta_step_base", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "0b5006f68cd682266d145f6bd52d77421bff33b8a5f5540947b751e062e7e0e4", + "dynamic_suffix_digest": "7c62b3844d02ac28ecfbd70ba75c871693baa0863001ed3fa283a53b43488036", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2420.389 + } + ], + "retry_count": 0, + "end_to_end_ms": 2420.402, + "truncated": false, + "system_digest": "0b5006f68cd682266d145f6bd52d77421bff33b8a5f5540947b751e062e7e0e4", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 14965, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 2, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "OK", + "tool_calls": [], + "first_event_ms": 1889.844, + "first_reasoning_ms": null, + "first_visible_ms": 1889.844, + "successful_attempt_ms": 1988.032, + "version": "candidate", + "suite": "calibration", + "task_id": "body_meta_step", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "3797a6434fa760875c71e40c124bd9f002a29f74470efaa74b26cb8a17ba7a1c", + "dynamic_suffix_digest": "0a467caac58b83b53ff7fc57f690dce955e9631ef4f92d3579df68e2381e62b0", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1988.032 + } + ], + "retry_count": 0, + "end_to_end_ms": 1988.059, + "truncated": false, + "system_digest": "3797a6434fa760875c71e40c124bd9f002a29f74470efaa74b26cb8a17ba7a1c", + "style": { + "visible_chars": 2, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13299, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 3, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "READY", + "tool_calls": [], + "first_event_ms": 2189.378, + "first_reasoning_ms": null, + "first_visible_ms": 2189.378, + "successful_attempt_ms": 2246.24, + "version": "baseline", + "suite": "warmup", + "task_id": "provider_cache", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "00f30947bff8e65c963c530a1ec847d805c3a59c984bfe0202f324ea0a94d74d", + "cache_phase": "warmup", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2246.24 + } + ], + "retry_count": 0, + "end_to_end_ms": 2246.264, + "truncated": false, + "system_digest": "d729a82f58f80de6e31d18e730c9bfc1196199603c74773099d83402a8347b54", + "style": { + "visible_chars": 5, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12649, + "cached_input_tokens": 1152, + "cache_write_tokens": 0, + "output_tokens": 3, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "READY", + "tool_calls": [], + "first_event_ms": 1814.197, + "first_reasoning_ms": null, + "first_visible_ms": 1814.197, + "successful_attempt_ms": 2062.569, + "version": "candidate", + "suite": "warmup", + "task_id": "provider_cache", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "00f30947bff8e65c963c530a1ec847d805c3a59c984bfe0202f324ea0a94d74d", + "cache_phase": "warmup", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2062.569 + } + ], + "retry_count": 0, + "end_to_end_ms": 2062.588, + "truncated": false, + "system_digest": "59853f06cfc489db6552317108d4a350321f2f99ab3ab2420a416a0b7f2759f7", + "style": { + "visible_chars": 5, + "visible_words": 1, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 99, + "reasoning_tokens": 28, + "stop_reason": "stop", + "response_text": "Prompt caches are typically keyed by a prefix of the token sequence, so identical content must appear in the same positions to match the cached prefix. Stable ordering keeps earlier, high-value context (like instructions or few-shot examples) fixed and consistent across requests, letting the cache hit the shared prefix instead of being invalidated by reshuffled content.", + "tool_calls": [], + "first_event_ms": 1626.233, + "first_reasoning_ms": 1626.233, + "first_visible_ms": 2685.083, + "successful_attempt_ms": 4776.221, + "version": "baseline", + "suite": "micro", + "task_id": "group_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b", + "group": 1, + "position": 1, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4776.221 + } + ], + "retry_count": 0, + "end_to_end_ms": 4776.248, + "truncated": false, + "system_digest": "ae5d09ef81fce227254de01a78794967555d518093bedf50c5977f4e1bf51005", + "style": { + "visible_chars": 372, + "visible_words": 56, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 1152, + "cache_write_tokens": 0, + "output_tokens": 63, + "reasoning_tokens": 16, + "stop_reason": "stop", + "response_text": "Stable ordering keeps the same instructions and context at the same positions in the prompt, so the longest matching prefix stays unchanged between requests. That lets the cache key on the prefix and reuse it instead of re-processing the whole input.", + "tool_calls": [], + "first_event_ms": 2222.529, + "first_reasoning_ms": 2222.529, + "first_visible_ms": 2537.368, + "successful_attempt_ms": 3567.486, + "version": "candidate", + "suite": "micro", + "task_id": "group_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b", + "group": 1, + "position": 2, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3567.486 + } + ], + "retry_count": 0, + "end_to_end_ms": 3567.512, + "truncated": false, + "system_digest": "3767c83e8f22f28287f4008ef1801ee3a8fd8f4a7b131e3e924a1f628be73c0c", + "style": { + "visible_chars": 250, + "visible_words": 41, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 94, + "reasoning_tokens": 31, + "stop_reason": "stop", + "response_text": "Stable ordering keeps the prefix of a prompt byte-for-byte identical across requests, so the cache can match and reuse that long shared prefix instead of recomputing it. When content is reordered between calls, the common prefix shrinks, causing cache misses and forcing the model to reprocess more tokens.", + "tool_calls": [], + "first_event_ms": 1228.151, + "first_reasoning_ms": 1228.151, + "first_visible_ms": 1516.21, + "successful_attempt_ms": 2917.46, + "version": "candidate", + "suite": "micro", + "task_id": "group_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b", + "group": 1, + "position": 3, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2917.46 + } + ], + "retry_count": 0, + "end_to_end_ms": 2917.471, + "truncated": false, + "system_digest": "3767c83e8f22f28287f4008ef1801ee3a8fd8f4a7b131e3e924a1f628be73c0c", + "style": { + "visible_chars": 306, + "visible_words": 48, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 78, + "reasoning_tokens": 17, + "stop_reason": "stop", + "response_text": "Stable ordering keeps identical prompt prefixes in the same position across requests, so the cache can match and reuse the exact prefix byte-for-byte instead of re-encoding it. When content is reordered or shuffled, the shared prefix changes, invalidating the cache hit and forcing a full recomputation.", + "tool_calls": [], + "first_event_ms": 1107.827, + "first_reasoning_ms": 1107.827, + "first_visible_ms": 1506.237, + "successful_attempt_ms": 2600.073, + "version": "baseline", + "suite": "micro", + "task_id": "group_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "c5a61a56ea45571a24d844473c28be7d6ed5fed4fa1aa7904671539c1677222b", + "group": 1, + "position": 4, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2600.073 + } + ], + "retry_count": 0, + "end_to_end_ms": 2600.091, + "truncated": false, + "system_digest": "ae5d09ef81fce227254de01a78794967555d518093bedf50c5977f4e1bf51005", + "style": { + "visible_chars": 303, + "visible_words": 46, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12654, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 103, + "reasoning_tokens": 19, + "stop_reason": "stop", + "response_text": "A **cache key** is the identifier used to look up an entry — typically a hash or normalized version of the request (URL, parameters, headers) — that determines whether a matching cached result exists. The **cached content** is the stored value itself (the response body, data, or computed result) that gets returned when the key matches, instead of recomputing or re-fetching it.", + "tool_calls": [], + "first_event_ms": 1758.263, + "first_reasoning_ms": 1758.263, + "first_visible_ms": 2333.518, + "successful_attempt_ms": 3615.659, + "version": "candidate", + "suite": "micro", + "task_id": "group_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd", + "group": 2, + "position": 1, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 125689.106 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3615.659 + } + ], + "retry_count": 1, + "end_to_end_ms": 129557.256, + "truncated": false, + "system_digest": "e9f96a8f5b811116ff98be91a8a671d898046234282dc754771afd27aed138ce", + "style": { + "visible_chars": 379, + "visible_words": 60, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 2 + } + }, + { + "success": true, + "input_tokens": 13304, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 93, + "reasoning_tokens": 24, + "stop_reason": "stop", + "response_text": "A **cache key** is the unique identifier (often derived from a request's URL, method, headers, or other inputs) used to look up an entry in the cache. The **cached content** is the actual stored data—such as a response body or computed result—that gets returned when its key matches an incoming request.", + "tool_calls": [], + "first_event_ms": 2163.983, + "first_reasoning_ms": 2163.983, + "first_visible_ms": 2283.563, + "successful_attempt_ms": 3739.181, + "version": "baseline", + "suite": "micro", + "task_id": "group_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd", + "group": 2, + "position": 2, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3739.181 + } + ], + "retry_count": 0, + "end_to_end_ms": 3739.197, + "truncated": false, + "system_digest": "e57e7ff00ff2fa53306198199a07889ce3bd8395eee70d61a6637150aa3f0f96", + "style": { + "visible_chars": 303, + "visible_words": 53, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 2 + } + }, + { + "success": true, + "input_tokens": 13304, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 75, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "A cache key is the identifier used to look up or store an entry—typically a hash of the request inputs (URL, method, headers, body)—while cached content is the actual stored payload, such as the response body and metadata, that gets returned on a hit. The key determines *where* to find something; the content is *what* is found.", + "tool_calls": [], + "first_event_ms": 1314.844, + "first_reasoning_ms": null, + "first_visible_ms": 1314.844, + "successful_attempt_ms": 2958.799, + "version": "baseline", + "suite": "micro", + "task_id": "group_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd", + "group": 2, + "position": 3, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2958.799 + } + ], + "retry_count": 0, + "end_to_end_ms": 2958.822, + "truncated": false, + "system_digest": "e57e7ff00ff2fa53306198199a07889ce3bd8395eee70d61a6637150aa3f0f96", + "style": { + "visible_chars": 329, + "visible_words": 59, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12654, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 98, + "reasoning_tokens": 28, + "stop_reason": "stop", + "response_text": "A cache key is the identifier used to look up an entry in the cache—typically derived from the request (URL, method, parameters, headers)—so that identical requests map to the same slot. Cached content is the actual stored data (the response body, headers, and metadata) that gets returned when a lookup by its key succeeds.", + "tool_calls": [], + "first_event_ms": 1236.399, + "first_reasoning_ms": 1236.399, + "first_visible_ms": 2979.509, + "successful_attempt_ms": 5390.204, + "version": "candidate", + "suite": "micro", + "task_id": "group_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "db6c90e7175a33418f20131bd395b9e56a73e330cfa9886756fe9faa9ee47dfd", + "group": 2, + "position": 4, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5390.204 + } + ], + "retry_count": 0, + "end_to_end_ms": 5390.225, + "truncated": false, + "system_digest": "e9f96a8f5b811116ff98be91a8a671d898046234282dc754771afd27aed138ce", + "style": { + "visible_chars": 324, + "visible_words": 56, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 87, + "reasoning_tokens": 33, + "stop_reason": "stop", + "response_text": "Deterministic catalogs are easier to test because the same input always yields the same output, so expected results can be asserted exactly without flaky timing or randomness. This makes tests reproducible and lets failures be isolated to logic changes rather than nondeterministic variation.", + "tool_calls": [], + "first_event_ms": 1955.902, + "first_reasoning_ms": 1955.902, + "first_visible_ms": 2270.556, + "successful_attempt_ms": 3441.981, + "version": "baseline", + "suite": "micro", + "task_id": "group_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf", + "group": 3, + "position": 1, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3441.981 + } + ], + "retry_count": 0, + "end_to_end_ms": 3442.042, + "truncated": false, + "system_digest": "a0759e79db2682790dfb9843e47fe7edd172930d04725fc4cbb6cf16a8015969", + "style": { + "visible_chars": 292, + "visible_words": 43, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 74, + "reasoning_tokens": 17, + "stop_reason": "stop", + "response_text": "Deterministic catalogs are easier to test because every input maps to a fixed, predictable output, so assertions can compare exact expected results without flakiness. This removes nondeterminism and hidden state from the test surface, making failures reproducible and root causes straightforward to isolate.", + "tool_calls": [], + "first_event_ms": 2419.994, + "first_reasoning_ms": 2419.994, + "first_visible_ms": 2826.495, + "successful_attempt_ms": 4614.271, + "version": "candidate", + "suite": "micro", + "task_id": "group_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf", + "group": 3, + "position": 2, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4614.271 + } + ], + "retry_count": 0, + "end_to_end_ms": 4614.297, + "truncated": false, + "system_digest": "79486c37fe3ee216eb78e2e716a8538ec72b17ddf8a0af4d06ab15c00644c73d", + "style": { + "visible_chars": 307, + "visible_words": 43, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 96, + "reasoning_tokens": 39, + "stop_reason": "stop", + "response_text": "Deterministic catalogs are easier to test because they always produce the same output for a given input, so expected results can be hard-coded as assertions without handling variability. This makes failures reproducible and tests repeatable, eliminating flaky or environment-dependent behavior that complicates verification.", + "tool_calls": [], + "first_event_ms": 1598.666, + "first_reasoning_ms": 1598.666, + "first_visible_ms": 2243.955, + "successful_attempt_ms": 3807.66, + "version": "candidate", + "suite": "micro", + "task_id": "group_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf", + "group": 3, + "position": 3, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3807.66 + } + ], + "retry_count": 0, + "end_to_end_ms": 3807.699, + "truncated": false, + "system_digest": "79486c37fe3ee216eb78e2e716a8538ec72b17ddf8a0af4d06ab15c00644c73d", + "style": { + "visible_chars": 324, + "visible_words": 43, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 75, + "reasoning_tokens": 23, + "stop_reason": "stop", + "response_text": "Deterministic catalogs are easier to test because the same inputs always produce the same outputs, so tests can assert exact expected results without handling nondeterministic variance or flakiness. This also makes failures reproducible and enables straightforward snapshot and regression testing.", + "tool_calls": [], + "first_event_ms": 1156.42, + "first_reasoning_ms": 1156.42, + "first_visible_ms": 1688.591, + "successful_attempt_ms": 3280.243, + "version": "baseline", + "suite": "micro", + "task_id": "group_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "78f1356c59fffaeaa0192ddeb53cc65df635300ac3c5d3c88071f96992d3eebf", + "group": 3, + "position": 4, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3280.243 + } + ], + "retry_count": 0, + "end_to_end_ms": 3280.265, + "truncated": false, + "system_digest": "a0759e79db2682790dfb9843e47fe7edd172930d04725fc4cbb6cf16a8015969", + "style": { + "visible_chars": 297, + "visible_words": 40, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12651, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 168, + "reasoning_tokens": 109, + "stop_reason": "stop", + "response_text": "Hidden dependencies should remain executable because a system's behavior often depends on their side effects, so keeping them runnable preserves correctness even when those dependencies aren't explicitly surfaced. Removing or stubbing them silently can break downstream workflows and make failures harder to diagnose, since the actual cause stays invisible.", + "tool_calls": [], + "first_event_ms": 1558.689, + "first_reasoning_ms": 1558.689, + "first_visible_ms": 3415.772, + "successful_attempt_ms": 4700.746, + "version": "candidate", + "suite": "micro", + "task_id": "group_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5", + "group": 4, + "position": 1, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 126655.56 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4700.746 + } + ], + "retry_count": 1, + "end_to_end_ms": 131608.575, + "truncated": false, + "system_digest": "d723bb5151dda7a48e570d6163ccf0894c2eee2bc4f959574b19fb9547743765", + "style": { + "visible_chars": 357, + "visible_words": 49, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13301, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 256, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 2433.274, + "first_reasoning_ms": 2433.274, + "first_visible_ms": null, + "successful_attempt_ms": 7261.218, + "version": "baseline", + "suite": "micro", + "task_id": "group_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5", + "group": 4, + "position": 2, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7261.218 + } + ], + "retry_count": 0, + "end_to_end_ms": 7261.241, + "truncated": true, + "system_digest": "0bb4704860b192d3341394ee9684c4bb12e801f76318b9fe905e089e95a978b9", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13301, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 256, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 1954.208, + "first_reasoning_ms": 1954.208, + "first_visible_ms": null, + "successful_attempt_ms": 6064.039, + "version": "baseline", + "suite": "micro", + "task_id": "group_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5", + "group": 4, + "position": 3, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6064.039 + } + ], + "retry_count": 0, + "end_to_end_ms": 6064.063, + "truncated": true, + "system_digest": "0bb4704860b192d3341394ee9684c4bb12e801f76318b9fe905e089e95a978b9", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12651, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 142, + "reasoning_tokens": 75, + "stop_reason": "stop", + "response_text": "Hidden dependencies should remain executable so the system can still invoke them on demand, preserving behavior even when their internal wiring isn't visible to users. Keeping them runnable also prevents silent breakage — if a latent dependency can no longer execute, failures surface only as hard-to-diagnose errors rather than clear, localizable faults.", + "tool_calls": [], + "first_event_ms": 2351.33, + "first_reasoning_ms": 2351.33, + "first_visible_ms": 3512.621, + "successful_attempt_ms": 6304.374, + "version": "candidate", + "suite": "micro", + "task_id": "group_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "42f539fa8e38b3d0a2d20b2fd2b9d8b047c62e56baf0735be5da64b9fcd0f8b5", + "group": 4, + "position": 4, + "sequence": "BAAB", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 122525.408 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6304.374 + } + ], + "retry_count": 1, + "end_to_end_ms": 129082.167, + "truncated": false, + "system_digest": "d723bb5151dda7a48e570d6163ccf0894c2eee2bc4f959574b19fb9547743765", + "style": { + "visible_chars": 355, + "visible_words": 51, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13301, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 73, + "reasoning_tokens": 16, + "stop_reason": "stop", + "response_text": "Synthetic benchmarks use artificially generated scenarios rather than real user data, so no actual personal information is ever read, stored, or transmitted during testing. Because the inputs are fabricated and contain no identifying details, there is nothing sensitive that could leak, be exposed, or be misused.", + "tool_calls": [], + "first_event_ms": 2688.533, + "first_reasoning_ms": 2688.533, + "first_visible_ms": 3573.492, + "successful_attempt_ms": 4224.693, + "version": "baseline", + "suite": "micro", + "task_id": "group_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295", + "group": 5, + "position": 1, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4224.693 + } + ], + "retry_count": 0, + "end_to_end_ms": 4224.717, + "truncated": false, + "system_digest": "1feffee5a3d0803fccadff80ccb1855118b7df17d184bdaae4cbdf0349a49b00", + "style": { + "visible_chars": 313, + "visible_words": 46, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12651, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 61, + "reasoning_tokens": 17, + "stop_reason": "stop", + "response_text": "Synthetic benchmarks replace real user data with generated, representative inputs, so private information never enters the evaluation pipeline. This lets systems be tested for quality and reliability without exposing, storing, or leaking any personally identifiable data.", + "tool_calls": [], + "first_event_ms": 3110.002, + "first_reasoning_ms": 3110.002, + "first_visible_ms": 3460.55, + "successful_attempt_ms": 4562.052, + "version": "candidate", + "suite": "micro", + "task_id": "group_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295", + "group": 5, + "position": 2, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4562.052 + } + ], + "retry_count": 0, + "end_to_end_ms": 4562.06, + "truncated": false, + "system_digest": "6933d708b4f32ae154386c337cea0efd92c4d8aaee9777eeb024ce74cf54df31", + "style": { + "visible_chars": 271, + "visible_words": 36, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 12651, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 85, + "reasoning_tokens": 27, + "stop_reason": "stop", + "response_text": "Synthetic benchmarks use fabricated or generated data rather than real user records, so no actual personal information is ever processed, stored, or exposed. Because the tasks run on artificial inputs, there is no risk of leaking sensitive details, and the evaluation can proceed without touching anyone's private data.", + "tool_calls": [], + "first_event_ms": 1934.953, + "first_reasoning_ms": 1934.953, + "first_visible_ms": 2390.967, + "successful_attempt_ms": 3621.559, + "version": "candidate", + "suite": "micro", + "task_id": "group_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295", + "group": 5, + "position": 3, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3621.559 + } + ], + "retry_count": 0, + "end_to_end_ms": 3621.591, + "truncated": false, + "system_digest": "6933d708b4f32ae154386c337cea0efd92c4d8aaee9777eeb024ce74cf54df31", + "style": { + "visible_chars": 319, + "visible_words": 48, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13301, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 69, + "reasoning_tokens": 20, + "stop_reason": "stop", + "response_text": "Synthetic benchmarks contain no real user data, so there is nothing personal or sensitive to expose during evaluation. They also let systems be tested and compared using controlled, fabricated inputs, which keeps private conversations and identifiers out of the testing pipeline entirely.", + "tool_calls": [], + "first_event_ms": 1713.212, + "first_reasoning_ms": 1713.212, + "first_visible_ms": 2088.43, + "successful_attempt_ms": 3123.127, + "version": "baseline", + "suite": "micro", + "task_id": "group_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "1e4f8fdd2f50701009d5fee84de6c4fbb1deeb6cbd13eec8bb625f229782f295", + "group": 5, + "position": 4, + "sequence": "ABBA", + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3123.127 + } + ], + "retry_count": 0, + "end_to_end_ms": 3123.156, + "truncated": false, + "system_digest": "1feffee5a3d0803fccadff80ccb1855118b7df17d184bdaae4cbdf0349a49b00", + "style": { + "visible_chars": 288, + "visible_words": 42, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + } + }, + { + "success": true, + "input_tokens": 13307, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 81, + "reasoning_tokens": 40, + "stop_reason": "stop", + "response_text": "One benefit: **predictable, reproducible behavior** — given the same inputs, a deterministic interface always produces the same outputs, which makes testing, debugging, and reasoning about the system far more reliable.", + "tool_calls": [], + "first_event_ms": 4042.982, + "first_reasoning_ms": 4042.982, + "first_visible_ms": 4263.156, + "successful_attempt_ms": 5012.141, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "f177cb759c81ff6320d713bd2c69e619a327b9c5f24b97c2df4191e30ce0f4a6", + "session_index": 1, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5012.141 + } + ], + "retry_count": 0, + "end_to_end_ms": 5012.161, + "truncated": false, + "system_digest": "0d8680e688d09398b3e458e1cdabd1f8bc5550640e2c6fe9b367e6cfc6934b62", + "style": { + "visible_chars": 218, + "visible_words": 29, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 11415 + }, + { + "success": true, + "input_tokens": 12657, + "cached_input_tokens": 1152, + "cache_write_tokens": 0, + "output_tokens": 86, + "reasoning_tokens": 34, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: for a given input, they always produce the same output, which makes behavior easier to test, debug, and reason about — and reduces the risk of flaky, hard-to-reproduce failures.", + "tool_calls": [], + "first_event_ms": 3635.356, + "first_reasoning_ms": 3635.356, + "first_visible_ms": 3689.042, + "successful_attempt_ms": 4233.215, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "f177cb759c81ff6320d713bd2c69e619a327b9c5f24b97c2df4191e30ce0f4a6", + "session_index": 1, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4233.215 + } + ], + "retry_count": 0, + "end_to_end_ms": 4233.238, + "truncated": false, + "system_digest": "9610413aff263c9c854900bb5010f25a7c2bd51e3bbfcd331e9f475ad394722f", + "style": { + "visible_chars": 249, + "visible_words": 36, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 12690, + "cached_input_tokens": 1152, + "cache_write_tokens": 0, + "output_tokens": 100, + "reasoning_tokens": 67, + "stop_reason": "stop", + "response_text": "Deterministic software interfaces make behavior predictable and testable — the same inputs always yield the same outputs, which simplifies debugging, testing, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 3434.197, + "first_reasoning_ms": 3434.197, + "first_visible_ms": 4610.358, + "successful_attempt_ms": 5138.51, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "7e16bdcc9a4003eeebde04b4ecfcf77c512410c90bf8bc2ff98be66af1ec038a", + "session_index": 1, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5138.51 + } + ], + "retry_count": 0, + "end_to_end_ms": 5138.539, + "truncated": false, + "system_digest": "37f3b34876489bd0693ebd3410a5e2aec3df7066d3d3ad8f847fd622c4128fa9", + "style": { + "visible_chars": 191, + "visible_words": 24, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12657 + }, + { + "success": true, + "input_tokens": 13340, + "cached_input_tokens": 13312, + "cache_write_tokens": 0, + "output_tokens": 97, + "reasoning_tokens": 56, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and reproducible: given the same inputs and preconditions, you always get the same outputs, which simplifies testing, debugging, and formal verification.", + "tool_calls": [], + "first_event_ms": 1881.593, + "first_reasoning_ms": 1881.593, + "first_visible_ms": 2856.376, + "successful_attempt_ms": 4139.296, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "7e16bdcc9a4003eeebde04b4ecfcf77c512410c90bf8bc2ff98be66af1ec038a", + "session_index": 1, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120093.782 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4139.296 + } + ], + "retry_count": 1, + "end_to_end_ms": 124484.695, + "truncated": false, + "system_digest": "ac34ffd33168abcc47e1263de8ef8a6b2748c14c50400bcb40c25431dfc746b7", + "style": { + "visible_chars": 241, + "visible_words": 33, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13307 + }, + { + "success": true, + "input_tokens": 13373, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 103, + "reasoning_tokens": 70, + "stop_reason": "stop", + "response_text": "Deterministic software interfaces make behavior reproducible: given the same inputs, they always produce the same outputs, which simplifies debugging, testing, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 2087.177, + "first_reasoning_ms": 2087.177, + "first_visible_ms": 4173.942, + "successful_attempt_ms": 5401.171, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "245663e7ba27e8b44535ca0c93ff8d7abc9a59428cf15968bbff644b5f473618", + "session_index": 1, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5401.171 + } + ], + "retry_count": 0, + "end_to_end_ms": 5401.206, + "truncated": false, + "system_digest": "e63bc9973ae63443a21c0e9f476325ca4c668b6b820f0d6d1c6a6f7c54a1f6b2", + "style": { + "visible_chars": 192, + "visible_words": 24, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13340 + }, + { + "success": true, + "input_tokens": 12723, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 69, + "reasoning_tokens": 33, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior reproducible: given the same inputs, the outputs are always identical, which simplifies testing, debugging, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 2286.443, + "first_reasoning_ms": 2286.443, + "first_visible_ms": 2857.14, + "successful_attempt_ms": 3675.973, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "245663e7ba27e8b44535ca0c93ff8d7abc9a59428cf15968bbff644b5f473618", + "session_index": 1, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3675.973 + } + ], + "retry_count": 0, + "end_to_end_ms": 3675.999, + "truncated": false, + "system_digest": "44f648092040ab8f02298de6aaaef045eeedde963cdc1baf8c307d82a0220d07", + "style": { + "visible_chars": 216, + "visible_words": 29, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12690 + }, + { + "success": true, + "input_tokens": 12756, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 4: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2479.16, + "first_reasoning_ms": null, + "first_visible_ms": 2479.16, + "successful_attempt_ms": 2651.271, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "8bc4b7844fa1a17dedc06fc3df45d6ec75e52ae210bd71a9572eb28b82f9ae56", + "session_index": 1, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2651.271 + } + ], + "retry_count": 0, + "end_to_end_ms": 2651.291, + "truncated": false, + "system_digest": "b2ceb331305383ad8fa05226e28186c6a31ced790581a5c5c099fd2effc4c3f3", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12723 + }, + { + "success": true, + "input_tokens": 13406, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 79, + "reasoning_tokens": 57, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and reproducible, which simplifies testing and debugging.", + "tool_calls": [], + "first_event_ms": 1627.818, + "first_reasoning_ms": 1627.818, + "first_visible_ms": 3457.467, + "successful_attempt_ms": 4117.316, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "8bc4b7844fa1a17dedc06fc3df45d6ec75e52ae210bd71a9572eb28b82f9ae56", + "session_index": 1, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4117.316 + } + ], + "retry_count": 0, + "end_to_end_ms": 4117.339, + "truncated": false, + "system_digest": "09d7ba004cbe529c91f3a45f52064e6eadbba67d1c840e1eab22eda1ebfa6b2c", + "style": { + "visible_chars": 145, + "visible_words": 19, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13373 + }, + { + "success": true, + "input_tokens": 13439, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 5: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 996.182, + "first_reasoning_ms": null, + "first_visible_ms": 996.182, + "successful_attempt_ms": 1189.333, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "4c7f7bba6a12992a1da50d4c0e1bb19fb8e827632ed90deb83e995c511b66417", + "session_index": 1, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1189.333 + } + ], + "retry_count": 0, + "end_to_end_ms": 1189.358, + "truncated": false, + "system_digest": "ae4343dad659ec971fad91c166b6e0aaf4c145fffa4dd083a9f6ae2957fd5b08", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13406 + }, + { + "success": true, + "input_tokens": 12789, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 5: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2130.79, + "first_reasoning_ms": null, + "first_visible_ms": 2130.79, + "successful_attempt_ms": 2429.355, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "4c7f7bba6a12992a1da50d4c0e1bb19fb8e827632ed90deb83e995c511b66417", + "session_index": 1, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2429.355 + } + ], + "retry_count": 0, + "end_to_end_ms": 2429.377, + "truncated": false, + "system_digest": "d9154d61ee60134bd845251f7dcd2b36e9d9090b87d26595088f51b39c5866bf", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12756 + }, + { + "success": true, + "input_tokens": 12822, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 1391.341, + "first_reasoning_ms": null, + "first_visible_ms": 1391.341, + "successful_attempt_ms": 1606.599, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_6", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "cf1661f6e41c77d596bbbbe2eb8d159fe6664b86647f2eaf63da4064c43c4d19", + "session_index": 1, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1606.599 + } + ], + "retry_count": 0, + "end_to_end_ms": 1606.621, + "truncated": false, + "system_digest": "f09730ce35320dc035cfb4a9de188194d177c346750bb3c1dfb405e139a86692", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12789 + }, + { + "success": true, + "input_tokens": 13472, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 58, + "reasoning_tokens": 44, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2040.889, + "first_reasoning_ms": 2040.889, + "first_visible_ms": 3173.356, + "successful_attempt_ms": 3413.202, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_6", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "cf1661f6e41c77d596bbbbe2eb8d159fe6664b86647f2eaf63da4064c43c4d19", + "session_index": 1, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3413.202 + } + ], + "retry_count": 0, + "end_to_end_ms": 3413.227, + "truncated": false, + "system_digest": "fb4cf877713d033be5c2e4b43955186f86b572bdbc56b4c1906fd603cb140614", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13439 + }, + { + "success": true, + "input_tokens": 13505, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 64, + "reasoning_tokens": 37, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and reproducible, which simplifies testing, debugging, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 2102.843, + "first_reasoning_ms": 2102.843, + "first_visible_ms": 2666.17, + "successful_attempt_ms": 3158.4, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_7", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "546d8ff9eae8996000e13c11428fd6d7a618a2020789811af43e8ed19d8aadf4", + "session_index": 1, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3158.4 + } + ], + "retry_count": 0, + "end_to_end_ms": 3158.419, + "truncated": false, + "system_digest": "6fc5043a00b94161241c86a589c7e8d2f205f541c8270134aa961f315cbe37cb", + "style": { + "visible_chars": 175, + "visible_words": 22, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13472 + }, + { + "success": true, + "input_tokens": 12855, + "cached_input_tokens": 12800, + "cache_write_tokens": 0, + "output_tokens": 38, + "reasoning_tokens": 24, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 7: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2123.193, + "first_reasoning_ms": 2123.193, + "first_visible_ms": 2826.139, + "successful_attempt_ms": 3225.518, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_7", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "546d8ff9eae8996000e13c11428fd6d7a618a2020789811af43e8ed19d8aadf4", + "session_index": 1, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 125313.866 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3225.518 + } + ], + "retry_count": 1, + "end_to_end_ms": 128791.6, + "truncated": false, + "system_digest": "4d995abb687f569ce39182d1ded84b6b4efd1113bd1d86bc2315356defbf3ea2", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12822 + }, + { + "success": true, + "input_tokens": 12888, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 36, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and reproducible — the same input always produces the same output, which simplifies testing, debugging, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 1942.421, + "first_reasoning_ms": null, + "first_visible_ms": 1942.421, + "successful_attempt_ms": 5367.688, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_8", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "e24e4531d8450a799fc39bfdc004cc27fee50681231456380057307f25d44c84", + "session_index": 1, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5367.688 + } + ], + "retry_count": 0, + "end_to_end_ms": 5367.711, + "truncated": false, + "system_digest": "c64bfd362955ca418524f8e67830ee9d15169f70badeaaa6af59b81e4ef1c91b", + "style": { + "visible_chars": 224, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12855 + }, + { + "success": true, + "input_tokens": 13538, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2073.519, + "first_reasoning_ms": null, + "first_visible_ms": 2073.519, + "successful_attempt_ms": 2615.227, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_8", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "e24e4531d8450a799fc39bfdc004cc27fee50681231456380057307f25d44c84", + "session_index": 1, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2615.227 + } + ], + "retry_count": 0, + "end_to_end_ms": 2615.255, + "truncated": false, + "system_digest": "98b130b7aa028dd030028b75a8e8a4be939897cba5b05ffb065c68738da2ab63", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13505 + }, + { + "success": true, + "input_tokens": 13571, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 4328.493, + "first_reasoning_ms": null, + "first_visible_ms": 4328.493, + "successful_attempt_ms": 4628.344, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_9", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "940f108a53d786e7c4819233ba02532d387149f7d1ddaf357418a8b54f1dd34f", + "session_index": 1, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4628.344 + } + ], + "retry_count": 0, + "end_to_end_ms": 4628.367, + "truncated": false, + "system_digest": "de0100e6755433aaf0e19009c45977c2ed0ea2c4800837245e9d9c6e447797e1", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13538 + }, + { + "success": true, + "input_tokens": 12921, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3273.592, + "first_reasoning_ms": null, + "first_visible_ms": 3273.592, + "successful_attempt_ms": 3916.835, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_9", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "940f108a53d786e7c4819233ba02532d387149f7d1ddaf357418a8b54f1dd34f", + "session_index": 1, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3916.835 + } + ], + "retry_count": 0, + "end_to_end_ms": 3916.862, + "truncated": false, + "system_digest": "2bcd38fd5df167a5152d8499b51d271f209731ed1e87faa0f60c882c46e846a7", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12888 + }, + { + "success": true, + "input_tokens": 12954, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2069.123, + "first_reasoning_ms": null, + "first_visible_ms": 2069.123, + "successful_attempt_ms": 2775.752, + "version": "candidate", + "suite": "continuity", + "task_id": "session_1_turn_10", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "223563d6e5c33cf8d77bae2f30d5f8f3ceda92f02fc2dbb0cc3da4a50bf34c2c", + "session_index": 1, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2775.752 + } + ], + "retry_count": 0, + "end_to_end_ms": 2775.768, + "truncated": false, + "system_digest": "36ae394a7cf53eb8329a454ab94fcfc76a27d03ce469b8adf00df3450a035a50", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12921 + }, + { + "success": true, + "input_tokens": 13604, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 1517.564, + "first_reasoning_ms": null, + "first_visible_ms": 1517.564, + "successful_attempt_ms": 1783.307, + "version": "baseline", + "suite": "continuity", + "task_id": "session_1_turn_10", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "223563d6e5c33cf8d77bae2f30d5f8f3ceda92f02fc2dbb0cc3da4a50bf34c2c", + "session_index": 1, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 1783.307 + } + ], + "retry_count": 0, + "end_to_end_ms": 1783.33, + "truncated": false, + "system_digest": "3f718b52c341a821382293d6f267dfc416c53197785127b9158bf7dff7016e89", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13571 + }, + { + "success": true, + "input_tokens": 12657, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 76, + "reasoning_tokens": 37, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: given the same inputs, they always produce the same outputs and behavior, which makes them easier to test, debug, and reason about.", + "tool_calls": [], + "first_event_ms": 1885.375, + "first_reasoning_ms": 1885.375, + "first_visible_ms": 3016.272, + "successful_attempt_ms": 4933.59, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "64e73dc5025a5c9cb991602804bcf68f2470e1c8e245d10bda3098573872da34", + "session_index": 2, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4933.59 + } + ], + "retry_count": 0, + "end_to_end_ms": 4933.629, + "truncated": false, + "system_digest": "d0cc1e3fd791f287b013cc286c79fdd6f06fafe279b399422258e4b7f5876ddd", + "style": { + "visible_chars": 203, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 13307, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 100, + "reasoning_tokens": 62, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: given the same inputs, they always produce the same outputs, which makes them easier to reason about, test, and debug reliably.", + "tool_calls": [], + "first_event_ms": 2009.571, + "first_reasoning_ms": 2009.571, + "first_visible_ms": 3986.745, + "successful_attempt_ms": 5170.682, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "64e73dc5025a5c9cb991602804bcf68f2470e1c8e245d10bda3098573872da34", + "session_index": 2, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5170.682 + } + ], + "retry_count": 0, + "end_to_end_ms": 5170.713, + "truncated": false, + "system_digest": "426e6ca3f696e30d690fa264d737ddfbdbb99e613e95e089ba1d2500a841a29d", + "style": { + "visible_chars": 199, + "visible_words": 29, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 11415 + }, + { + "success": true, + "input_tokens": 13340, + "cached_input_tokens": 13312, + "cache_write_tokens": 0, + "output_tokens": 62, + "reasoning_tokens": 35, + "stop_reason": "stop", + "response_text": "Deterministic interfaces make behavior reproducible: identical inputs always yield identical outputs, which simplifies testing, debugging, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 1682.595, + "first_reasoning_ms": 1682.595, + "first_visible_ms": 2700.142, + "successful_attempt_ms": 3006.122, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "2ea6e68783916f2002bdcf1ec0e7849f7b7da245e814ef31ed5d8d41e47fbc0c", + "session_index": 2, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120073.364 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3006.122 + } + ], + "retry_count": 1, + "end_to_end_ms": 123331.83, + "truncated": false, + "system_digest": "d44de70726d8f0a2f05df0b32d32b160df8d129acfff4e7a6778cccbb23fa9e2", + "style": { + "visible_chars": 171, + "visible_words": 19, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13307 + }, + { + "success": true, + "input_tokens": 12690, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 89, + "reasoning_tokens": 53, + "stop_reason": "stop", + "response_text": "Deterministic interfaces make testing reproducible — given the same inputs and state, they always produce the same outputs, so bugs can be reliably reproduced, isolated, and confirmed fixed.", + "tool_calls": [], + "first_event_ms": 5577.577, + "first_reasoning_ms": 5577.577, + "first_visible_ms": 5608.536, + "successful_attempt_ms": 7802.46, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "2ea6e68783916f2002bdcf1ec0e7849f7b7da245e814ef31ed5d8d41e47fbc0c", + "session_index": 2, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7802.46 + } + ], + "retry_count": 0, + "end_to_end_ms": 7802.484, + "truncated": false, + "system_digest": "3cc1e2e4a397c32148e68bf7e3b9c062803b86b0c6c7770351c42cc25e2cced4", + "style": { + "visible_chars": 190, + "visible_words": 27, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12657 + }, + { + "success": true, + "input_tokens": 12723, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 31, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior reproducible, so identical inputs always produce identical outputs—which simplifies testing, debugging, and verification.", + "tool_calls": [], + "first_event_ms": 2833.245, + "first_reasoning_ms": null, + "first_visible_ms": 2833.245, + "successful_attempt_ms": 4319.796, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "7f2f0fd531536e1fca2293136fc11db7a0b2f10a84a92453bb27ad293ed553c3", + "session_index": 2, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4319.796 + } + ], + "retry_count": 0, + "end_to_end_ms": 4319.822, + "truncated": false, + "system_digest": "550e68d6840608be237c88c0867164ddd9195dbe23a97b20c3b6121f1160c0a7", + "style": { + "visible_chars": 197, + "visible_words": 25, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12690 + }, + { + "success": true, + "input_tokens": 13373, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 66, + "reasoning_tokens": 29, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and reproducible: given the same inputs, you always get the same outputs, which simplifies testing, debugging, and verification.", + "tool_calls": [], + "first_event_ms": 1471.983, + "first_reasoning_ms": 1471.983, + "first_visible_ms": 2234.788, + "successful_attempt_ms": 3318.883, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "7f2f0fd531536e1fca2293136fc11db7a0b2f10a84a92453bb27ad293ed553c3", + "session_index": 2, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3318.883 + } + ], + "retry_count": 0, + "end_to_end_ms": 3318.906, + "truncated": false, + "system_digest": "b8bc6df7932a8e32639487afcb38b7dfd35062a3aa53066d01b10d66733bc614", + "style": { + "visible_chars": 216, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13340 + }, + { + "success": true, + "input_tokens": 13406, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 57, + "reasoning_tokens": 27, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that the same input always produces the same output, which makes behavior predictable and much easier to test and debug.", + "tool_calls": [], + "first_event_ms": 2644.14, + "first_reasoning_ms": 2644.14, + "first_visible_ms": 3182.764, + "successful_attempt_ms": 4312.903, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "6d94d785217db533e6f629de69149d677c13cd7a6ae9d05be5c2fe792588e010", + "session_index": 2, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4312.903 + } + ], + "retry_count": 0, + "end_to_end_ms": 4312.925, + "truncated": false, + "system_digest": "8e7783af6d3c1fc5cc33054509d1e12ba7c43b06aa208a9e937d0d5f13134394", + "style": { + "visible_chars": 172, + "visible_words": 27, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13373 + }, + { + "success": true, + "input_tokens": 12756, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 71, + "reasoning_tokens": 46, + "stop_reason": "stop", + "response_text": "A deterministic interface guarantees that the same inputs always produce the same outputs, which makes behavior reproducible and simplifies testing and debugging.", + "tool_calls": [], + "first_event_ms": 2591.111, + "first_reasoning_ms": 2591.111, + "first_visible_ms": 3900.699, + "successful_attempt_ms": 5945.134, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "6d94d785217db533e6f629de69149d677c13cd7a6ae9d05be5c2fe792588e010", + "session_index": 2, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5945.134 + } + ], + "retry_count": 0, + "end_to_end_ms": 5945.159, + "truncated": false, + "system_digest": "d5584fbddc54d2ac0624b8defaf194c24b9b46c73de046be70f99b3abac31810", + "style": { + "visible_chars": 162, + "visible_words": 22, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12723 + }, + { + "success": true, + "input_tokens": 12789, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 5: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2080.812, + "first_reasoning_ms": null, + "first_visible_ms": 2080.812, + "successful_attempt_ms": 2383.798, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "3a0a41145ee92515abd4e86fd1bb67a20d7234e4bc485791a0ca2dcf5533e0b1", + "session_index": 2, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2383.798 + } + ], + "retry_count": 0, + "end_to_end_ms": 2383.829, + "truncated": false, + "system_digest": "b5ff2ab33a7eb27598ac7b2b39f4f0b322f14a8b719f9d3383f245f61b397cfa", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12756 + }, + { + "success": true, + "input_tokens": 13439, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 5: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2650.796, + "first_reasoning_ms": null, + "first_visible_ms": 2650.796, + "successful_attempt_ms": 3895.743, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "3a0a41145ee92515abd4e86fd1bb67a20d7234e4bc485791a0ca2dcf5533e0b1", + "session_index": 2, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3895.743 + } + ], + "retry_count": 0, + "end_to_end_ms": 3895.768, + "truncated": false, + "system_digest": "b9f1a7686acbeb1bea04d6477e3a80f2f9bd02b28ac46d40f34d94505629ec00", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13406 + }, + { + "success": true, + "input_tokens": 13472, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 7541.681, + "first_reasoning_ms": null, + "first_visible_ms": 7541.681, + "successful_attempt_ms": 8050.869, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_6", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "15279b051b210378ca4022bc9cb3ef8ba516f53abea713566fbca7f6f0ad2be0", + "session_index": 2, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8050.869 + } + ], + "retry_count": 0, + "end_to_end_ms": 8050.886, + "truncated": false, + "system_digest": "f1ada87b327d3f0a5b40b919850bebe2cb90cfab9664cced5ac50f495cadfda5", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13439 + }, + { + "success": true, + "input_tokens": 12822, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 4417.031, + "first_reasoning_ms": null, + "first_visible_ms": 4417.031, + "successful_attempt_ms": 6480.752, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_6", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "15279b051b210378ca4022bc9cb3ef8ba516f53abea713566fbca7f6f0ad2be0", + "session_index": 2, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6480.752 + } + ], + "retry_count": 0, + "end_to_end_ms": 6480.779, + "truncated": false, + "system_digest": "cd129cd35d2c094d2e6f6fc76d7eeae4736ce1c8c6bc6efd67b4ed5eaaa3497a", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12789 + }, + { + "success": true, + "input_tokens": 12855, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 7: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2258.128, + "first_reasoning_ms": null, + "first_visible_ms": 2258.128, + "successful_attempt_ms": 3797.381, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_7", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "a67b08dc86929232395c2f7b88dea323c430c567e0f132b972fba04edd66e089", + "session_index": 2, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3797.381 + } + ], + "retry_count": 0, + "end_to_end_ms": 3797.417, + "truncated": false, + "system_digest": "36405002c3ed0acca5c9b84d4683b8a025c46b617660870b720e823e581ee1f1", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12822 + }, + { + "success": true, + "input_tokens": 13505, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 23, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and repeatable, which simplifies testing and debugging.", + "tool_calls": [], + "first_event_ms": 3341.204, + "first_reasoning_ms": null, + "first_visible_ms": 3341.204, + "successful_attempt_ms": 3674.447, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_7", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "a67b08dc86929232395c2f7b88dea323c430c567e0f132b972fba04edd66e089", + "session_index": 2, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3674.447 + } + ], + "retry_count": 0, + "end_to_end_ms": 3674.469, + "truncated": false, + "system_digest": "62af1e9d56aa9aff24c982934d64159129f27f7020ece5a89bf3800f0a9dfb67", + "style": { + "visible_chars": 143, + "visible_words": 19, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13472 + }, + { + "success": true, + "input_tokens": 13538, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 1981.258, + "first_reasoning_ms": null, + "first_visible_ms": 1981.258, + "successful_attempt_ms": 2387.678, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_8", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "f2a38b9f8b2903456a5f99d472c48d3ec0edd56026f381bedbc57e9099fb0e02", + "session_index": 2, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2387.678 + } + ], + "retry_count": 0, + "end_to_end_ms": 2387.693, + "truncated": false, + "system_digest": "424674669c37c3c600430bb7cac7fdf476ff17f31cf54e705fa1b4538b669c6e", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13505 + }, + { + "success": true, + "input_tokens": 12888, + "cached_input_tokens": 12800, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 6568.679, + "first_reasoning_ms": null, + "first_visible_ms": 6568.679, + "successful_attempt_ms": 9100.575, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_8", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "f2a38b9f8b2903456a5f99d472c48d3ec0edd56026f381bedbc57e9099fb0e02", + "session_index": 2, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 140992.641 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9100.575 + } + ], + "retry_count": 1, + "end_to_end_ms": 150345.618, + "truncated": false, + "system_digest": "cc8fbedcb8984a31e12f04bb8f786d9a9607a38e63007b805dde69337f7e065f", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12855 + }, + { + "success": true, + "input_tokens": 12921, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3297.902, + "first_reasoning_ms": null, + "first_visible_ms": 3297.902, + "successful_attempt_ms": 4010.744, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_9", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "2b83c8b726d1264b2755b43faf4fc7a8d7b19496223b8d42d7a883f7034b1296", + "session_index": 2, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4010.744 + } + ], + "retry_count": 0, + "end_to_end_ms": 4010.769, + "truncated": false, + "system_digest": "840f9e3b1b8750bc1c0bb7af9fe84610d7ff9900791d12cc96d58d02884948a4", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12888 + }, + { + "success": true, + "input_tokens": 13571, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3326.65, + "first_reasoning_ms": null, + "first_visible_ms": 3326.65, + "successful_attempt_ms": 4305.139, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_9", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "2b83c8b726d1264b2755b43faf4fc7a8d7b19496223b8d42d7a883f7034b1296", + "session_index": 2, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4305.139 + } + ], + "retry_count": 0, + "end_to_end_ms": 4305.16, + "truncated": false, + "system_digest": "bb7a85e6fde2fb68a0190e7807e75b98450518a253ef1afc3da70de8400eb71a", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13538 + }, + { + "success": true, + "input_tokens": 13604, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 8807.677, + "first_reasoning_ms": null, + "first_visible_ms": 8807.677, + "successful_attempt_ms": 9712.387, + "version": "baseline", + "suite": "continuity", + "task_id": "session_2_turn_10", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "b57f989d0e65c12aa9d6e6f0af6881d4c0e56296e9688bf3d166090a561dd4f4", + "session_index": 2, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9712.387 + } + ], + "retry_count": 0, + "end_to_end_ms": 9712.406, + "truncated": false, + "system_digest": "b0296f9684483bcd2a8e583576bc0ec984b88da06e84a23f39302ff158f878cd", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13571 + }, + { + "success": true, + "input_tokens": 12954, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 6481.86, + "first_reasoning_ms": null, + "first_visible_ms": 6481.86, + "successful_attempt_ms": 7168.875, + "version": "candidate", + "suite": "continuity", + "task_id": "session_2_turn_10", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "b57f989d0e65c12aa9d6e6f0af6881d4c0e56296e9688bf3d166090a561dd4f4", + "session_index": 2, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7168.875 + } + ], + "retry_count": 0, + "end_to_end_ms": 7168.894, + "truncated": false, + "system_digest": "41b0d829b7ea4425024ab6e643369759130d7a302d498c648b1b32f1958bdef6", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12921 + }, + { + "success": true, + "input_tokens": 13307, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 111, + "reasoning_tokens": 62, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: given the same inputs, they always produce the same outputs. This makes behavior much easier to test, debug, and reason about — you can reproduce failures reliably and verify correctness with confidence.", + "tool_calls": [], + "first_event_ms": 1572.232, + "first_reasoning_ms": 1572.232, + "first_visible_ms": 2438.991, + "successful_attempt_ms": 3707.497, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "348a9c3f5e5da169d0899985bd2b2ea33df16ea0fcb1aed9ac0c1aebc8df7414", + "session_index": 3, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3707.497 + } + ], + "retry_count": 0, + "end_to_end_ms": 3707.512, + "truncated": false, + "system_digest": "6b664ff837964d56e5f3f1ec0b2285c4546806c5b553307fdf7c4342594fb022", + "style": { + "visible_chars": 275, + "visible_words": 39, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 11415 + }, + { + "success": true, + "input_tokens": 12657, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 85, + "reasoning_tokens": 45, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: given the same inputs, they always produce the same outputs and behavior, which makes the software easier to test, debug, and reason about.", + "tool_calls": [], + "first_event_ms": 3495.181, + "first_reasoning_ms": 3495.181, + "first_visible_ms": 4343.316, + "successful_attempt_ms": 5668.402, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "348a9c3f5e5da169d0899985bd2b2ea33df16ea0fcb1aed9ac0c1aebc8df7414", + "session_index": 3, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5668.402 + } + ], + "retry_count": 0, + "end_to_end_ms": 5668.45, + "truncated": false, + "system_digest": "44afbed87766d17a931777e4057a90c999818317cf32a0f0914b9f497e1aa113", + "style": { + "visible_chars": 211, + "visible_words": 31, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 12690, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 42, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "A key benefit of deterministic software interfaces is that they make behavior reproducible and testable: the same input always yields the same output, so failures can be reliably reproduced, diagnosed, and prevented from regressing.", + "tool_calls": [], + "first_event_ms": 5896.538, + "first_reasoning_ms": null, + "first_visible_ms": 5896.538, + "successful_attempt_ms": 7635.14, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "ce3f94c5a8c9ff6ebeb4e1f6afb7601e5f163a011349c60bad55afb3c612f501", + "session_index": 3, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7635.14 + } + ], + "retry_count": 0, + "end_to_end_ms": 7635.166, + "truncated": false, + "system_digest": "9a7a0d1aec3d7690f7c69252a64a14d5f5c13fe5ffc27b49e5f9cc5646f9d14b", + "style": { + "visible_chars": 232, + "visible_words": 34, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12657 + }, + { + "success": true, + "input_tokens": 13340, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 62, + "reasoning_tokens": 37, + "stop_reason": "stop", + "response_text": "A deterministic interface is easier to debug: the same input always produces the same output, so failures can be reproduced reliably.", + "tool_calls": [], + "first_event_ms": 24487.823, + "first_reasoning_ms": 24487.823, + "first_visible_ms": 24500.837, + "successful_attempt_ms": 24899.883, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "ce3f94c5a8c9ff6ebeb4e1f6afb7601e5f163a011349c60bad55afb3c612f501", + "session_index": 3, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 24899.883 + } + ], + "retry_count": 0, + "end_to_end_ms": 24899.896, + "truncated": false, + "system_digest": "3a692f2acc437f50f36c7cc12c6da4f180a7c2e0380c8f77c2b9e7f6c989fcf4", + "style": { + "visible_chars": 133, + "visible_words": 21, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13307 + }, + { + "success": true, + "input_tokens": 13373, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 64, + "reasoning_tokens": 23, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make testing and debugging easier: given the same inputs, the same output is always produced, so behavior is reproducible and failures can be reliably reproduced and fixed.", + "tool_calls": [], + "first_event_ms": 7184.293, + "first_reasoning_ms": 7184.293, + "first_visible_ms": 7793.519, + "successful_attempt_ms": 10764.462, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "cee755919bc651168c2873837c584b05da3a7ca2ae97768e69869ad9f8a1f0cd", + "session_index": 3, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 10764.462 + } + ], + "retry_count": 0, + "end_to_end_ms": 10764.504, + "truncated": false, + "system_digest": "bf8e562cfce76f03abc9e17b1249da6c82a1f42c025fac8d64005fb389fc9b5a", + "style": { + "visible_chars": 234, + "visible_words": 36, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13340 + }, + { + "success": true, + "input_tokens": 12723, + "cached_input_tokens": 12672, + "cache_write_tokens": 0, + "output_tokens": 44, + "reasoning_tokens": 23, + "stop_reason": "stop", + "response_text": "Deterministic interfaces make behavior reproducible and easier to test, since identical inputs always produce identical outputs.", + "tool_calls": [], + "first_event_ms": 17940.928, + "first_reasoning_ms": 17940.928, + "first_visible_ms": 17965.658, + "successful_attempt_ms": 18290.047, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "cee755919bc651168c2873837c584b05da3a7ca2ae97768e69869ad9f8a1f0cd", + "session_index": 3, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 133952.472 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 18290.047 + } + ], + "retry_count": 1, + "end_to_end_ms": 152494.852, + "truncated": false, + "system_digest": "6ff165215e138e477719608bc896b63bd3b35602cec121cd51c27a884dde4782", + "style": { + "visible_chars": 128, + "visible_words": 16, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12690 + }, + { + "success": true, + "input_tokens": 12756, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 43, + "reasoning_tokens": 29, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 4: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 1834.776, + "first_reasoning_ms": 1834.776, + "first_visible_ms": 2638.212, + "successful_attempt_ms": 3260.838, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "b4b121029c647ed9ced26513e01e8036e9204ae9257f16dad442c01d9595c4a1", + "session_index": 3, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3260.838 + } + ], + "retry_count": 0, + "end_to_end_ms": 3260.857, + "truncated": false, + "system_digest": "d40bae9eec350ad5c968534b3d87847c98467f1f15205d79224641f556a33ceb", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12723 + }, + { + "success": true, + "input_tokens": 13406, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 182, + "reasoning_tokens": 148, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that the same input always produces the same output, which makes behavior predictable and reproducible — simplifying testing, debugging, and formal verification.", + "tool_calls": [], + "first_event_ms": 3420.223, + "first_reasoning_ms": 3420.223, + "first_visible_ms": 6577.411, + "successful_attempt_ms": 7340.533, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "b4b121029c647ed9ced26513e01e8036e9204ae9257f16dad442c01d9595c4a1", + "session_index": 3, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7340.533 + } + ], + "retry_count": 0, + "end_to_end_ms": 7340.554, + "truncated": false, + "system_digest": "1823cc3bd6fa93557b4af49094239f9d7a733abe7e6d632bc0917649506d4d1a", + "style": { + "visible_chars": 213, + "visible_words": 28, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13373 + }, + { + "success": true, + "input_tokens": 13439, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 5: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2940.203, + "first_reasoning_ms": null, + "first_visible_ms": 2940.203, + "successful_attempt_ms": 5707.111, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "75a542a0f1ef1890b8a72d59b96f87a1ce890372a23e15fd568b16df9f461bd7", + "session_index": 3, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5707.111 + } + ], + "retry_count": 0, + "end_to_end_ms": 5707.128, + "truncated": false, + "system_digest": "3eee72f65cb687ba62384e24e8a62f01f8fcf9f5d38134db38b687212379dc86", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13406 + }, + { + "success": false, + "input_tokens": null, + "cached_input_tokens": null, + "cache_write_tokens": null, + "output_tokens": null, + "reasoning_tokens": null, + "stop_reason": "", + "response_text": "", + "tool_calls": [], + "first_event_ms": 120163.145, + "first_reasoning_ms": null, + "first_visible_ms": null, + "successful_attempt_ms": null, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "75a542a0f1ef1890b8a72d59b96f87a1ce890372a23e15fd568b16df9f461bd7", + "session_index": 3, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120241.451 + }, + { + "attempt": 2, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120163.316 + } + ], + "retry_count": 1, + "end_to_end_ms": 240657.318, + "truncated": false, + "system_digest": "dca23ec813ed8c610aac5eecd615ff9037ec48eeb12c359bb9497a74cf3230ad", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12756 + }, + { + "success": true, + "input_tokens": 12822, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 8625.897, + "first_reasoning_ms": null, + "first_visible_ms": 8625.897, + "successful_attempt_ms": 8692.981, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_6", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "5e40f8be47137f48d06758a2155c0808f44c3eb852fe3f8dd1a6cf091a35c28c", + "session_index": 3, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8692.981 + } + ], + "retry_count": 0, + "end_to_end_ms": 8693.001, + "truncated": false, + "system_digest": "6c9cb19f0896570a2982985c15be89dec698c9f462b3074fdbae87b4990078d1", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 13472, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 26, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit: deterministic interfaces make behavior reproducible, so the same input always yields the same output, which simplifies testing and debugging.", + "tool_calls": [], + "first_event_ms": 6243.648, + "first_reasoning_ms": null, + "first_visible_ms": 6243.648, + "successful_attempt_ms": 7518.12, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_6", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "5e40f8be47137f48d06758a2155c0808f44c3eb852fe3f8dd1a6cf091a35c28c", + "session_index": 3, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7518.12 + } + ], + "retry_count": 0, + "end_to_end_ms": 7518.146, + "truncated": false, + "system_digest": "f68aae79ef72b10004a948dadea9eb108d44fdaaab0273c77b31fc7b608da5c4", + "style": { + "visible_chars": 154, + "visible_words": 21, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13439 + }, + { + "success": true, + "input_tokens": 13505, + "cached_input_tokens": 13440, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 7: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 18550.02, + "first_reasoning_ms": null, + "first_visible_ms": 18550.02, + "successful_attempt_ms": 18651.133, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_7", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "99fa491b0dbb6832b0c42d51e41235180ae342e95af5f7a8c77e3a886a5d03d4", + "session_index": 3, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120074.592 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 18651.133 + } + ], + "retry_count": 1, + "end_to_end_ms": 138976.786, + "truncated": false, + "system_digest": "0c7386fd6166b0e71565b3b077c56851c281d8b42a7f1c9b07d7d49a73e0206f", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13472 + }, + { + "success": true, + "input_tokens": 12855, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 7: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 11713.686, + "first_reasoning_ms": null, + "first_visible_ms": 11713.686, + "successful_attempt_ms": 13630.925, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_7", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "99fa491b0dbb6832b0c42d51e41235180ae342e95af5f7a8c77e3a886a5d03d4", + "session_index": 3, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "5xx", + "error_code": "503", + "retry_after_seconds": null, + "latency_ms": 3373.678 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 13630.925 + } + ], + "retry_count": 1, + "end_to_end_ms": 17256.884, + "truncated": false, + "system_digest": "6d76a0f27214e796508bd29c828ac0e8533f8de64baa11435275df492d719e1a", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12822 + }, + { + "success": true, + "input_tokens": 12888, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 7533.208, + "first_reasoning_ms": null, + "first_visible_ms": 7533.208, + "successful_attempt_ms": 8977.123, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_8", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "9804a68057e53b0146d066d5e26af019a02e9373f95eab1e3c089da3e189e47a", + "session_index": 3, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8977.123 + } + ], + "retry_count": 0, + "end_to_end_ms": 8977.145, + "truncated": false, + "system_digest": "41f2f3183bd33f68b5c3d10523f1b4710e93bd7b2dff617237e82bd3e3faedfe", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12855 + }, + { + "success": true, + "input_tokens": 13538, + "cached_input_tokens": 13440, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 24994.09, + "first_reasoning_ms": null, + "first_visible_ms": 24994.09, + "successful_attempt_ms": 25267.657, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_8", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "9804a68057e53b0146d066d5e26af019a02e9373f95eab1e3c089da3e189e47a", + "session_index": 3, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120070.388 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 25267.657 + } + ], + "retry_count": 1, + "end_to_end_ms": 145590.357, + "truncated": false, + "system_digest": "f918019c2e55d2391ed323b6289b6755ae185b228ff6410868b2cd64b5a23e6f", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13505 + }, + { + "success": true, + "input_tokens": 13571, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 13609.084, + "first_reasoning_ms": null, + "first_visible_ms": 13609.084, + "successful_attempt_ms": 13666.278, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_9", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "9628d29e02502ca835d58f9e3b37d0cc64984d4ed5f0f0814eef1e6adb002032", + "session_index": 3, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 13666.278 + } + ], + "retry_count": 0, + "end_to_end_ms": 13666.307, + "truncated": false, + "system_digest": "df834db40a16c7b7daf8c69a48967a0f3eb93cf152198c9992a3fcc5b5813976", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13538 + }, + { + "success": true, + "input_tokens": 12921, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 5672.84, + "first_reasoning_ms": null, + "first_visible_ms": 5672.84, + "successful_attempt_ms": 6187.924, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_9", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "9628d29e02502ca835d58f9e3b37d0cc64984d4ed5f0f0814eef1e6adb002032", + "session_index": 3, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6187.924 + } + ], + "retry_count": 0, + "end_to_end_ms": 6187.949, + "truncated": false, + "system_digest": "69c29e12a6da35e19d201d5e2bf8fb10f9d120be230cc6fa5e41a81c352d0715", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12888 + }, + { + "success": true, + "input_tokens": 12954, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3990.599, + "first_reasoning_ms": null, + "first_visible_ms": 3990.599, + "successful_attempt_ms": 4255.57, + "version": "candidate", + "suite": "continuity", + "task_id": "session_3_turn_10", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "de71bfe29c6c4365eaca3366a125d6a63a925c88309b24fd7ee1c117df77fad2", + "session_index": 3, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4255.57 + } + ], + "retry_count": 0, + "end_to_end_ms": 4255.596, + "truncated": false, + "system_digest": "971c69f1444647f1e61a5550ebc8f4fab2abeee79726d9b3a3cbcaa7f72e2414", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12921 + }, + { + "success": true, + "input_tokens": 13604, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2192.388, + "first_reasoning_ms": null, + "first_visible_ms": 2192.388, + "successful_attempt_ms": 2512.775, + "version": "baseline", + "suite": "continuity", + "task_id": "session_3_turn_10", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "de71bfe29c6c4365eaca3366a125d6a63a925c88309b24fd7ee1c117df77fad2", + "session_index": 3, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2512.775 + } + ], + "retry_count": 0, + "end_to_end_ms": 2512.797, + "truncated": false, + "system_digest": "00bbbe123c446af0d2e84c0b38f3caec179543d540ca2052b40ab8758e52da5e", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13571 + }, + { + "success": true, + "input_tokens": 12657, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 109, + "reasoning_tokens": 51, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: given the same inputs and state, they always produce the same outputs and side effects. This makes them easier to reason about, test, debug, and reproduce — because behavior doesn't vary with timing, ordering, or hidden state.", + "tool_calls": [], + "first_event_ms": 3365.538, + "first_reasoning_ms": 3365.538, + "first_visible_ms": 4357.751, + "successful_attempt_ms": 11049.51, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "9d0d40bcbe094afa9b8365073ebba830859820f029198233bd1204221be2cb57", + "session_index": 4, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 11049.51 + } + ], + "retry_count": 0, + "end_to_end_ms": 11049.535, + "truncated": false, + "system_digest": "dd747afb79498ab6a87c504c9314be86e65dc1251285e46bcd7165b09a8d13ec", + "style": { + "visible_chars": 298, + "visible_words": 44, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 13307, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 112, + "reasoning_tokens": 69, + "stop_reason": "stop", + "response_text": "One benefit: **predictable, reproducible behavior** — given the same inputs, a deterministic interface always produces the same outputs, which makes it far easier to test, debug, verify, and reason about correctness.", + "tool_calls": [], + "first_event_ms": 18178.624, + "first_reasoning_ms": 18178.624, + "first_visible_ms": 19181.323, + "successful_attempt_ms": 20394.366, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "9d0d40bcbe094afa9b8365073ebba830859820f029198233bd1204221be2cb57", + "session_index": 4, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "5xx", + "error_code": "504", + "retry_after_seconds": null, + "latency_ms": 10138.821 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 20394.366 + } + ], + "retry_count": 1, + "end_to_end_ms": 30784.671, + "truncated": false, + "system_digest": "142c7e3007ea3e54dc417566d24265ada9e2cbb08b1d0608a869936dea8f7e57", + "style": { + "visible_chars": 216, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 11415 + }, + { + "success": true, + "input_tokens": 13340, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 97, + "reasoning_tokens": 67, + "stop_reason": "stop", + "response_text": "A deterministic interface always maps the same inputs to the same outputs, which makes behavior predictable and reproducible — a key property for reliable testing and debugging.", + "tool_calls": [], + "first_event_ms": 13858.255, + "first_reasoning_ms": 13858.255, + "first_visible_ms": 15704.444, + "successful_attempt_ms": 17446.204, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "493cadd30a23425a5673cc67cf2ac599dfacb8e30b841089ffd2a2642dca0e91", + "session_index": 4, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 17446.204 + } + ], + "retry_count": 0, + "end_to_end_ms": 17446.227, + "truncated": false, + "system_digest": "1bdc861ad081566f11b9f0623e2dfcb0bd93b60840ae74845311ea54e9176890", + "style": { + "visible_chars": 177, + "visible_words": 26, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13307 + }, + { + "success": true, + "input_tokens": 12690, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 88, + "reasoning_tokens": 48, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they produce the same output for the same input, which makes them easier to test, debug, and verify — behavior is repeatable and failures are reproducible.", + "tool_calls": [], + "first_event_ms": 5477.259, + "first_reasoning_ms": 5477.259, + "first_visible_ms": 7321.717, + "successful_attempt_ms": 8055.055, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "493cadd30a23425a5673cc67cf2ac599dfacb8e30b841089ffd2a2642dca0e91", + "session_index": 4, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8055.055 + } + ], + "retry_count": 0, + "end_to_end_ms": 8055.084, + "truncated": false, + "system_digest": "f4db52d00445856e6a6ac7ae4a0f7fe766b5a4166298576563c28e73bbc2b17b", + "style": { + "visible_chars": 212, + "visible_words": 33, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12657 + }, + { + "success": true, + "input_tokens": 12723, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 31, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Deterministic software interfaces make behavior reproducible, so the same inputs reliably produce the same outputs, which simplifies testing, debugging, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 13801.836, + "first_reasoning_ms": null, + "first_visible_ms": 13801.836, + "successful_attempt_ms": 14763.109, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "07e71977e755d6d4280f53f3ac36e0db24f407a8804b41f655f00ea9897c7c3f", + "session_index": 4, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 14763.109 + } + ], + "retry_count": 0, + "end_to_end_ms": 14763.164, + "truncated": false, + "system_digest": "c4ef195a24d3fd93d5966fc57514fb10137d2456cd4421952f6ff25386219ea3", + "style": { + "visible_chars": 185, + "visible_words": 23, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12690 + }, + { + "success": true, + "input_tokens": 13373, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 115, + "reasoning_tokens": 79, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make systems predictable and reproducible: the same inputs always produce the same outputs, which simplifies testing, debugging, and reasoning about behavior.", + "tool_calls": [], + "first_event_ms": 3304.573, + "first_reasoning_ms": 3304.573, + "first_visible_ms": 6039.86, + "successful_attempt_ms": 8026.834, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "07e71977e755d6d4280f53f3ac36e0db24f407a8804b41f655f00ea9897c7c3f", + "session_index": 4, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8026.834 + } + ], + "retry_count": 0, + "end_to_end_ms": 8026.858, + "truncated": false, + "system_digest": "16e782c8c8d642556b191793b843a29152c202735d33e15d6d7530db164e791d", + "style": { + "visible_chars": 220, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13340 + }, + { + "success": true, + "input_tokens": 13406, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 4: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 10253.187, + "first_reasoning_ms": null, + "first_visible_ms": 10253.187, + "successful_attempt_ms": 10350.386, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "acb061d67cea8bdf5f68aff6e9bb179fb872e8870ca67dad2a0ae55306d4e969", + "session_index": 4, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 10350.386 + } + ], + "retry_count": 0, + "end_to_end_ms": 10350.401, + "truncated": false, + "system_digest": "f36e2f20ba8e3c8df29344efae4508080a1153ed530a77c06ac94321c940f351", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13373 + }, + { + "success": false, + "input_tokens": null, + "cached_input_tokens": null, + "cache_write_tokens": null, + "output_tokens": null, + "reasoning_tokens": null, + "stop_reason": "", + "response_text": "", + "tool_calls": [], + "first_event_ms": 120183.324, + "first_reasoning_ms": null, + "first_visible_ms": null, + "successful_attempt_ms": null, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "acb061d67cea8bdf5f68aff6e9bb179fb872e8870ca67dad2a0ae55306d4e969", + "session_index": 4, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120063.601 + }, + { + "attempt": 2, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120183.48 + } + ], + "retry_count": 1, + "end_to_end_ms": 240499.522, + "truncated": false, + "system_digest": "11156e4c546359b69ac6e2b0d0c431377ab4b6e8587a84d4cee609538e375cbf", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12723 + }, + { + "success": true, + "input_tokens": 12789, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 37, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior reproducible and predictable: given the same inputs, they always produce the same outputs, which simplifies testing, debugging, and verification.", + "tool_calls": [], + "first_event_ms": 3444.799, + "first_reasoning_ms": null, + "first_visible_ms": 3444.799, + "successful_attempt_ms": 4512.844, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "7b22b0c7cc56ebeaec2169b69769a4603389a78e2f5ad63d543397369ff32def", + "session_index": 4, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4512.844 + } + ], + "retry_count": 0, + "end_to_end_ms": 4512.869, + "truncated": false, + "system_digest": "b06b2a25b0f1ac428abce768179ae3e72df30621d11ca9336b4020792b736840", + "style": { + "visible_chars": 221, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 13439, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 26, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit: deterministic interfaces make behavior reproducible, so the same input always yields the same output, which simplifies testing and debugging.", + "tool_calls": [], + "first_event_ms": 8106.746, + "first_reasoning_ms": null, + "first_visible_ms": 8106.746, + "successful_attempt_ms": 9093.775, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "7b22b0c7cc56ebeaec2169b69769a4603389a78e2f5ad63d543397369ff32def", + "session_index": 4, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9093.775 + } + ], + "retry_count": 0, + "end_to_end_ms": 9093.796, + "truncated": false, + "system_digest": "529232de87d3bcb615da21f17a50dd0d78a62653594705f4825cad171811406d", + "style": { + "visible_chars": 154, + "visible_words": 21, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13406 + }, + { + "success": true, + "input_tokens": 13472, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3786.798, + "first_reasoning_ms": null, + "first_visible_ms": 3786.798, + "successful_attempt_ms": 5407.647, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_6", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "458c09a3c90d985066611e62467b8ebe05df50cd4a2d59d0a102704d5cd939a9", + "session_index": 4, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5407.647 + } + ], + "retry_count": 0, + "end_to_end_ms": 5407.665, + "truncated": false, + "system_digest": "8a719d8bba88f60e2e6b6255a87b256281fce864502abb0a1677b417bccf107e", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13439 + }, + { + "success": true, + "input_tokens": 12822, + "cached_input_tokens": 12800, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 26424.068, + "first_reasoning_ms": null, + "first_visible_ms": 26424.068, + "successful_attempt_ms": 30885.467, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_6", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "458c09a3c90d985066611e62467b8ebe05df50cd4a2d59d0a102704d5cd939a9", + "session_index": 4, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120304.773 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 30885.467 + } + ], + "retry_count": 1, + "end_to_end_ms": 151447.282, + "truncated": false, + "system_digest": "0efc284d170b3c9c808d4e138f5d9edd5967bcc906a0cebf48770452f4a5ce40", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12789 + }, + { + "success": true, + "input_tokens": 12855, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 7: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 1765.553, + "first_reasoning_ms": null, + "first_visible_ms": 1765.553, + "successful_attempt_ms": 2332.025, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_7", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "900ee2be97278198f980b04609e90885264b1a85174cce3d3acce42ba54356d1", + "session_index": 4, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "5xx", + "error_code": "503", + "retry_after_seconds": null, + "latency_ms": 6534.328 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2332.025 + } + ], + "retry_count": 1, + "end_to_end_ms": 9116.924, + "truncated": false, + "system_digest": "e6a20defde87515493eb9062645f9e9981471316557c485d9d3e90bc34147076", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12822 + }, + { + "success": true, + "input_tokens": 13505, + "cached_input_tokens": 13440, + "cache_write_tokens": 0, + "output_tokens": 75, + "reasoning_tokens": 26, + "stop_reason": "stop", + "response_text": "A deterministic software interface always produces the same output for a given input, which makes it easier to test, debug, and reason about — the same input reliably yields the same result, eliminating flaky, order-dependent, or timing-dependent behavior.", + "tool_calls": [], + "first_event_ms": 14308.758, + "first_reasoning_ms": 14308.758, + "first_visible_ms": 14837.152, + "successful_attempt_ms": 15746.956, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_7", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "900ee2be97278198f980b04609e90885264b1a85174cce3d3acce42ba54356d1", + "session_index": 4, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 127110.153 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 15746.956 + } + ], + "retry_count": 1, + "end_to_end_ms": 143108.315, + "truncated": false, + "system_digest": "eeafeb977377ebd8ddf04ac0736157e13731418dc4f333e13203298f44a86e2c", + "style": { + "visible_chars": 256, + "visible_words": 37, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13472 + }, + { + "success": true, + "input_tokens": 13538, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 5890.087, + "first_reasoning_ms": null, + "first_visible_ms": 5890.087, + "successful_attempt_ms": 6006.976, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_8", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "a7d9fed5cab2e63ba3ced2279c9be66b615541cf0dd2c623eed9abd52a792d97", + "session_index": 4, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6006.976 + } + ], + "retry_count": 0, + "end_to_end_ms": 6006.999, + "truncated": false, + "system_digest": "89476679d486b40b9827adf55c119e8e8b82ffcc236c79f933b9fac32c2159da", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13505 + }, + { + "success": true, + "input_tokens": 12888, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 1820.842, + "first_reasoning_ms": null, + "first_visible_ms": 1820.842, + "successful_attempt_ms": 2002.003, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_8", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "a7d9fed5cab2e63ba3ced2279c9be66b615541cf0dd2c623eed9abd52a792d97", + "session_index": 4, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "5xx", + "error_code": "504", + "retry_after_seconds": null, + "latency_ms": 10126.371 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2002.003 + } + ], + "retry_count": 1, + "end_to_end_ms": 12379.532, + "truncated": false, + "system_digest": "cab3ad2ea7c24d00e06a7b53d60e9227678ffc40a855651ecd744537ddd447e8", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12855 + }, + { + "success": true, + "input_tokens": 12921, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 2491.645, + "first_reasoning_ms": null, + "first_visible_ms": 2491.645, + "successful_attempt_ms": 2591.881, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_9", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "8440c4b2b874385ae96653660ee5d902f545769552ec558d4aba6410087f37e2", + "session_index": 4, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2591.881 + } + ], + "retry_count": 0, + "end_to_end_ms": 2591.906, + "truncated": false, + "system_digest": "c3f9e802501060214e6998f565dda1517c36669860ada98dfe3ce8dc691f7a10", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12888 + }, + { + "success": true, + "input_tokens": 13571, + "cached_input_tokens": 13568, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 11098.903, + "first_reasoning_ms": null, + "first_visible_ms": 11098.903, + "successful_attempt_ms": 11187.433, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_9", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "8440c4b2b874385ae96653660ee5d902f545769552ec558d4aba6410087f37e2", + "session_index": 4, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120539.432 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 11187.433 + } + ], + "retry_count": 1, + "end_to_end_ms": 131977.269, + "truncated": false, + "system_digest": "7cf7418500f5801737474f699b7b080d988d459f56b341323772798880226f40", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13538 + }, + { + "success": true, + "input_tokens": 13604, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 9385.063, + "first_reasoning_ms": null, + "first_visible_ms": 9385.063, + "successful_attempt_ms": 9724.143, + "version": "baseline", + "suite": "continuity", + "task_id": "session_4_turn_10", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "4ea81605b393b2727ada8b16fbf259b27d0113b55aff7d3cc920c99a4dfe74d2", + "session_index": 4, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9724.143 + } + ], + "retry_count": 0, + "end_to_end_ms": 9724.163, + "truncated": false, + "system_digest": "a2ed8345fd849dd0b6f0842f36770925983cf376976caf795ee353f1294b3a60", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13571 + }, + { + "success": true, + "input_tokens": 12954, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 4750.18, + "first_reasoning_ms": null, + "first_visible_ms": 4750.18, + "successful_attempt_ms": 12216.804, + "version": "candidate", + "suite": "continuity", + "task_id": "session_4_turn_10", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "4ea81605b393b2727ada8b16fbf259b27d0113b55aff7d3cc920c99a4dfe74d2", + "session_index": 4, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 12216.804 + } + ], + "retry_count": 0, + "end_to_end_ms": 12216.82, + "truncated": false, + "system_digest": "fbd4dbccaf0c03cae2870185218d7afc19ea2f83d55616d65c739bf8bab43d50", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12921 + }, + { + "success": true, + "input_tokens": 13307, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 71, + "reasoning_tokens": 33, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is **predictability**: given the same inputs, the interface always produces the same outputs, which makes behavior easier to reason about, test, and debug.", + "tool_calls": [], + "first_event_ms": 6580.981, + "first_reasoning_ms": 6580.981, + "first_visible_ms": 6996.109, + "successful_attempt_ms": 10181.423, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_1", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "5861ae10c4852ebf4db44554763132f76e7c7da9d1ec8e7a41179ce47dc0458d", + "session_index": 5, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120074.897 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 10181.423 + } + ], + "retry_count": 1, + "end_to_end_ms": 130508.461, + "truncated": false, + "system_digest": "0716352bb0f5062c7b05316a4cb0d50fc062ebaaa2a457269bc84db14a6edf32", + "style": { + "visible_chars": 204, + "visible_words": 29, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 11415 + }, + { + "success": true, + "input_tokens": 12657, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 60, + "reasoning_tokens": 25, + "stop_reason": "stop", + "response_text": "One benefit: deterministic interfaces make behavior **predictable and reproducible** — the same input always produces the same output, which simplifies testing, debugging, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 1368.71, + "first_reasoning_ms": 1368.71, + "first_visible_ms": 1844.227, + "successful_attempt_ms": 2803.945, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_1", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "5861ae10c4852ebf4db44554763132f76e7c7da9d1ec8e7a41179ce47dc0458d", + "session_index": 5, + "turn": 1, + "cache_phase": "cold", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 136168.894 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 2803.945 + } + ], + "retry_count": 1, + "end_to_end_ms": 139225.56, + "truncated": false, + "system_digest": "0a17257104c87f695ffa92b32db37ea00b8531e02e93cfeeadcb990aa38f3a5f", + "style": { + "visible_chars": 204, + "visible_words": 25, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 1 + }, + "theoretical_reusable_tokens": 12536 + }, + { + "success": true, + "input_tokens": 12690, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 100, + "reasoning_tokens": 85, + "stop_reason": "stop", + "response_text": "Deterministic interfaces make behavior reproducible and easier to test and debug.", + "tool_calls": [], + "first_event_ms": 3536.923, + "first_reasoning_ms": 3536.923, + "first_visible_ms": 5013.297, + "successful_attempt_ms": 6138.28, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_2", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "3456feecafcb2118bb3f17eb6b636ff56c498c2656e135e5d35faa3111a86a24", + "session_index": 5, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6138.28 + } + ], + "retry_count": 0, + "end_to_end_ms": 6138.308, + "truncated": false, + "system_digest": "ed1bbf0ac7e8148b41b287a20ba211770c9e98814bb647de4d4937e8b7da2a0f", + "style": { + "visible_chars": 81, + "visible_words": 11, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12657 + }, + { + "success": true, + "input_tokens": 13340, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 128, + "reasoning_tokens": 98, + "stop_reason": "stop", + "response_text": "A deterministic interface guarantees that the same inputs always produce the same outputs, which makes behavior reproducible and simplifies debugging, testing, and reasoning about correctness.", + "tool_calls": [], + "first_event_ms": 2790.921, + "first_reasoning_ms": 2790.921, + "first_visible_ms": 5222.014, + "successful_attempt_ms": 6246.804, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_2", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "3456feecafcb2118bb3f17eb6b636ff56c498c2656e135e5d35faa3111a86a24", + "session_index": 5, + "turn": 2, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6246.804 + } + ], + "retry_count": 0, + "end_to_end_ms": 6246.834, + "truncated": false, + "system_digest": "f9a1871ddd6a608417fdf402b0fad629686e5778fea13edc0c3e8921a5bf4eb4", + "style": { + "visible_chars": 192, + "visible_words": 25, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13307 + }, + { + "success": true, + "input_tokens": 13373, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 3: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 4155.502, + "first_reasoning_ms": null, + "first_visible_ms": 4155.502, + "successful_attempt_ms": 4878.564, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_3", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "9610bcba9239145be5e062862e217b189e41d398855afaba5ea8def19592c71c", + "session_index": 5, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4878.564 + } + ], + "retry_count": 0, + "end_to_end_ms": 4878.587, + "truncated": false, + "system_digest": "e6ecf299e16b55e9ceca66c05bf716820b1ae09927d4462e7722e060c249d73f", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13340 + }, + { + "success": true, + "input_tokens": 12723, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 81, + "reasoning_tokens": 39, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they are easier to test and verify: given the same inputs, they always produce the same outputs, so behavior can be reproduced, asserted, and debugged reliably.", + "tool_calls": [], + "first_event_ms": 6484.999, + "first_reasoning_ms": 6484.999, + "first_visible_ms": 7127.761, + "successful_attempt_ms": 8813.884, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_3", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "9610bcba9239145be5e062862e217b189e41d398855afaba5ea8def19592c71c", + "session_index": 5, + "turn": 3, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8813.884 + } + ], + "retry_count": 0, + "end_to_end_ms": 8813.913, + "truncated": false, + "system_digest": "c533e9be8b7b145503a2badd8de5be2326a491f5461a0fa6c886f070c56c49a1", + "style": { + "visible_chars": 217, + "visible_words": 34, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12690 + }, + { + "success": true, + "input_tokens": 12756, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 4: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3037.98, + "first_reasoning_ms": null, + "first_visible_ms": 3037.98, + "successful_attempt_ms": 3442.007, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_4", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "bb0c3e1a1b0faf28d83309294d27a42a4e4972bd6a13ffcec5be15f416d050d0", + "session_index": 5, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 3442.007 + } + ], + "retry_count": 0, + "end_to_end_ms": 3442.034, + "truncated": false, + "system_digest": "ef735151147c52a55204ae78f9267caa1373e652878390e5267ca818d62522e5", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12723 + }, + { + "success": true, + "input_tokens": 13406, + "cached_input_tokens": 13312, + "cache_write_tokens": 0, + "output_tokens": 106, + "reasoning_tokens": 61, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior predictable and repeatable, which simplifies testing, debugging, and reasoning about a system: given the same inputs and preconditions, the same outputs are produced every time.", + "tool_calls": [], + "first_event_ms": 1486.427, + "first_reasoning_ms": 1486.427, + "first_visible_ms": 2791.997, + "successful_attempt_ms": 6283.973, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_4", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "bb0c3e1a1b0faf28d83309294d27a42a4e4972bd6a13ffcec5be15f416d050d0", + "session_index": 5, + "turn": 4, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120065.574 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6283.973 + } + ], + "retry_count": 1, + "end_to_end_ms": 126600.315, + "truncated": false, + "system_digest": "81a5d6761c8b40bd8925e0e7ac19027d4ed394350f25327ef7c1dead22794d8a", + "style": { + "visible_chars": 253, + "visible_words": 36, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13373 + }, + { + "success": true, + "input_tokens": 13439, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 69, + "reasoning_tokens": 26, + "stop_reason": "stop", + "response_text": "One benefit of deterministic software interfaces is that they make behavior reproducible and easier to test: given the same inputs, the interface always produces the same outputs, so bugs can be reliably reproduced, isolated, and verified.", + "tool_calls": [], + "first_event_ms": 9004.624, + "first_reasoning_ms": 9004.624, + "first_visible_ms": 9234.674, + "successful_attempt_ms": 13637.756, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_5", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "8555c3ec84863a4693b8d86997189ecfb0d40fe4a2ac5df4d55e412c1fdb4df3", + "session_index": 5, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "5xx", + "error_code": "503", + "retry_after_seconds": null, + "latency_ms": 6720.927 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 13637.756 + } + ], + "retry_count": 1, + "end_to_end_ms": 20609.117, + "truncated": false, + "system_digest": "cd501e9397a56212895a2ea6856640e0101c85353ba9c0a2056851d498e479cb", + "style": { + "visible_chars": 239, + "visible_words": 36, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13406 + }, + { + "success": true, + "input_tokens": 12789, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 5: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 5625.337, + "first_reasoning_ms": null, + "first_visible_ms": 5625.337, + "successful_attempt_ms": 7816.749, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_5", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "8555c3ec84863a4693b8d86997189ecfb0d40fe4a2ac5df4d55e412c1fdb4df3", + "session_index": 5, + "turn": 5, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7816.749 + } + ], + "retry_count": 0, + "end_to_end_ms": 7816.769, + "truncated": false, + "system_digest": "f4c1fe5d0325e7549a2658cdf308eef7a055a6d5f7de299e2cdca9497bfe68ed", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12756 + }, + { + "success": true, + "input_tokens": 12822, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 30, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Deterministic software interfaces produce the same output for a given input, which makes behavior predictable and reproducible — simplifying testing, debugging, and verification.", + "tool_calls": [], + "first_event_ms": 5780.575, + "first_reasoning_ms": null, + "first_visible_ms": 5780.575, + "successful_attempt_ms": 7400.648, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_6", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "789bd32f60d16cc0a4d6dec92d8799271bb33ef0f41f38a17794554ab310c07e", + "session_index": 5, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7400.648 + } + ], + "retry_count": 0, + "end_to_end_ms": 7400.676, + "truncated": false, + "system_digest": "e0f64b6e8b10f7375962ff1f0db7afd2fa1fc023df71ececba1cbec0069dc038", + "style": { + "visible_chars": 178, + "visible_words": 22, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12789 + }, + { + "success": true, + "input_tokens": 13472, + "cached_input_tokens": 13440, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 6: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 3691.817, + "first_reasoning_ms": null, + "first_visible_ms": 3691.817, + "successful_attempt_ms": 6071.091, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_6", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "789bd32f60d16cc0a4d6dec92d8799271bb33ef0f41f38a17794554ab310c07e", + "session_index": 5, + "turn": 6, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120074.469 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6071.091 + } + ], + "retry_count": 1, + "end_to_end_ms": 126397.892, + "truncated": false, + "system_digest": "e1f9a3cfba82753474a339c021111e3fedb1fe9d203930a40d57f9e4c285468e", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13439 + }, + { + "success": true, + "input_tokens": 13505, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 38, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "One benefit: deterministic interfaces are easier to verify — the same inputs always produce the same outputs, so tests can be exact and reproducible, and failures can be reliably reproduced and debugged.", + "tool_calls": [], + "first_event_ms": 3538.856, + "first_reasoning_ms": null, + "first_visible_ms": 3538.856, + "successful_attempt_ms": 6399.932, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_7", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "f5d00a6ec6ad331679ed134f20876fcf60e3b0da4b8425ff64c039de44cf47f1", + "session_index": 5, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6399.932 + } + ], + "retry_count": 0, + "end_to_end_ms": 6399.956, + "truncated": false, + "system_digest": "1945b3fb9b868bc4db83282007b7777647997e14d5dd30f678bdd02489de41f3", + "style": { + "visible_chars": 203, + "visible_words": 31, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13472 + }, + { + "success": true, + "input_tokens": 12855, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 7: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 6145.01, + "first_reasoning_ms": null, + "first_visible_ms": 6145.01, + "successful_attempt_ms": 7712.216, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_7", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "f5d00a6ec6ad331679ed134f20876fcf60e3b0da4b8425ff64c039de44cf47f1", + "session_index": 5, + "turn": 7, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7712.216 + } + ], + "retry_count": 0, + "end_to_end_ms": 7712.235, + "truncated": false, + "system_digest": "b91c2928a920ab0101e6932fa11021d71226a766a5110000a48a64d868abdfbd", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12822 + }, + { + "success": true, + "input_tokens": 12888, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 5029.628, + "first_reasoning_ms": null, + "first_visible_ms": 5029.628, + "successful_attempt_ms": 5668.94, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_8", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "0c2ca636ca230f911ee3a92a38a968fa1118738ae6f82fa555717b198e9968fb", + "session_index": 5, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "5xx", + "error_code": "504", + "retry_after_seconds": null, + "latency_ms": 10125.576 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5668.94 + } + ], + "retry_count": 1, + "end_to_end_ms": 16046.794, + "truncated": false, + "system_digest": "ca8d78518a7738a62adf66e45c7add5f717433f45394f162605baa356315d653", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12855 + }, + { + "success": true, + "input_tokens": 13538, + "cached_input_tokens": 13440, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 8: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 5497.628, + "first_reasoning_ms": null, + "first_visible_ms": 5497.628, + "successful_attempt_ms": 9653.846, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_8", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "0c2ca636ca230f911ee3a92a38a968fa1118738ae6f82fa555717b198e9968fb", + "session_index": 5, + "turn": 8, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120217.952 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9653.846 + } + ], + "retry_count": 1, + "end_to_end_ms": 130124.009, + "truncated": false, + "system_digest": "d4c651b1727dccf21c7c74d272c2558ea4909bddc98d4592b5ee7266a5939e65", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13505 + }, + { + "success": true, + "input_tokens": 13571, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 9: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 10872.471, + "first_reasoning_ms": null, + "first_visible_ms": 10872.471, + "successful_attempt_ms": 12963.045, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_9", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "437e7287343f5d2c1cf5f834ff5a294578080ed3f2c9fd72f17098430acb1e17", + "session_index": 5, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 12963.045 + } + ], + "retry_count": 0, + "end_to_end_ms": 12963.067, + "truncated": false, + "system_digest": "11eea81daf2b9cf75048ae4cab30530fbb00b816c8ceae2735f44a964e240c72", + "style": { + "visible_chars": 85, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13538 + }, + { + "success": true, + "input_tokens": 12921, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 22, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Deterministic software interfaces are easier to test reliably, since the same inputs always produce the same outputs.", + "tool_calls": [], + "first_event_ms": 7320.623, + "first_reasoning_ms": null, + "first_visible_ms": 7320.623, + "successful_attempt_ms": 7701.284, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_9", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "437e7287343f5d2c1cf5f834ff5a294578080ed3f2c9fd72f17098430acb1e17", + "session_index": 5, + "turn": 9, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120073.697 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7701.284 + } + ], + "retry_count": 1, + "end_to_end_ms": 128027.008, + "truncated": false, + "system_digest": "e1d8503f60b49ce495464752117a2f25f784c5d84e8d7424613a5f32526b83ac", + "style": { + "visible_chars": 117, + "visible_words": 17, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12888 + }, + { + "success": true, + "input_tokens": 12954, + "cached_input_tokens": 12928, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 4819.205, + "first_reasoning_ms": null, + "first_visible_ms": 4819.205, + "successful_attempt_ms": 5989.569, + "version": "candidate", + "suite": "continuity", + "task_id": "session_5_turn_10", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "b9e0534a77b613f3752aed3112c4781ed975c475e180f4cc7aa4b1658bf8a5f2", + "session_index": 5, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120072.294 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5989.569 + } + ], + "retry_count": 1, + "end_to_end_ms": 126313.804, + "truncated": false, + "system_digest": "d8c9ea7fcfd633f7fd98affb5b8c8372a8fac8fa27753273810945ccc58e8d55", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 12921 + }, + { + "success": true, + "input_tokens": 13604, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 14, + "reasoning_tokens": 0, + "stop_reason": "stop", + "response_text": "Synthetic fixed history acknowledgement 10: deterministic interfaces aid verification.", + "tool_calls": [], + "first_event_ms": 9204.949, + "first_reasoning_ms": null, + "first_visible_ms": 9204.949, + "successful_attempt_ms": 9551.197, + "version": "baseline", + "suite": "continuity", + "task_id": "session_5_turn_10", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "b9e0534a77b613f3752aed3112c4781ed975c475e180f4cc7aa4b1658bf8a5f2", + "session_index": 5, + "turn": 10, + "cache_phase": "warm", + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9551.197 + } + ], + "retry_count": 0, + "end_to_end_ms": 9551.215, + "truncated": false, + "system_digest": "3e1c458fe6f44df9f2476571132d72261d90818b2da035c3c4f5589cc4cb63d5", + "style": { + "visible_chars": 86, + "visible_words": 9, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "theoretical_reusable_tokens": 13571 + }, + { + "success": true, + "input_tokens": 13297, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 108, + "reasoning_tokens": 18, + "stop_reason": "stop", + "response_text": "DNS caching stores recently resolved domain-to-IP mappings locally, on a resolver or the operating system, so repeated lookups don't re-query the full DNS hierarchy. Each cached record carries a time-to-live (TTL) value set by the authoritative server, after which the entry expires and is fetched again. This speeds up browsing, reduces load on upstream servers, and provides a temporary fallback if those servers are briefly unreachable.", + "tool_calls": [], + "first_event_ms": 4567.409, + "first_reasoning_ms": 4567.409, + "first_visible_ms": 4621.705, + "successful_attempt_ms": 11558.268, + "version": "baseline", + "suite": "multitask", + "task_id": "explain", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "b34c34805d8ebd188b6062933fde4bbc7c34fc08eb8150745a2ff98ce50efc21", + "task_category": "explanation", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 11558.268 + } + ], + "retry_count": 0, + "end_to_end_ms": 11558.291, + "truncated": false, + "system_digest": "e4a3e08c67893ede24ce2613f02d31a4838ae7e21b72c5e0a65f78b1b2174b46", + "style": { + "visible_chars": 439, + "visible_words": 66, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12647, + "cached_input_tokens": 1152, + "cache_write_tokens": 0, + "output_tokens": 104, + "reasoning_tokens": 18, + "stop_reason": "stop", + "response_text": "DNS caching stores previously resolved domain-to-IP mappings locally (on your device, router, or ISP resolver) so repeat lookups don't re-query the network. Each record carries a TTL (time-to-live) that dictates how long it stays valid before the cache must refresh it from an authoritative server. This reduces latency and load, but stale entries can briefly serve outdated or changed IP addresses until they expire.", + "tool_calls": [], + "first_event_ms": 2909.366, + "first_reasoning_ms": 2909.366, + "first_visible_ms": 3357.276, + "successful_attempt_ms": 9564.138, + "version": "candidate", + "suite": "multitask", + "task_id": "explain", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "b34c34805d8ebd188b6062933fde4bbc7c34fc08eb8150745a2ff98ce50efc21", + "task_category": "explanation", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9564.138 + } + ], + "retry_count": 0, + "end_to_end_ms": 9564.153, + "truncated": false, + "system_digest": "974d0ba8c42e26affe6e4be36facf74fec820e7017f3582dd159410b06b73fc4", + "style": { + "visible_chars": 417, + "visible_words": 64, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 67, + "stop_reason": "length", + "response_text": "Three practical, low-cost ways to shorten a team meeting:\n\n1. **Send a written brief ahead of time.** Put status updates, context, and any decisions-required into a shared doc (or chat) before the meeting. Then use the live time only for discussion and decisions, not for people reciting updates aloud. This alone often cuts a meeting by a third.\n\n2. **Set a tight agenda with a time box per item.** List 2–3 agenda items with an owner and a hard time limit for each (e.g., \"Decision on launch date — 10 min\"). Rotate a lightweight timekeeper who cuts in when a topic hits its limit and moves things along.\n\n3. **Default to async for everything that isn't a real discussion.** Ask one question before scheduling: \"Could this be resolved in a thread or a quick Loom/voice note?\" If yes, don't hold the meeting. Reserve", + "tool_calls": [], + "first_event_ms": 4703.891, + "first_reasoning_ms": 4703.891, + "first_visible_ms": 4840.483, + "successful_attempt_ms": 19573.848, + "version": "candidate", + "suite": "multitask", + "task_id": "advice", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "9b1ba6a445737760f7670d70dcd86125db61e7b4ed201709609fee3ffd375b94", + "task_category": "advice", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120059.476 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 19573.848 + } + ], + "retry_count": 1, + "end_to_end_ms": 139885.7, + "truncated": true, + "system_digest": "590392a1194f15c63b34fdaa4fc9d97da16ad361e0ce5f8a9577ba5597523cd3", + "style": { + "visible_chars": 817, + "visible_words": 145, + "lines": 7, + "paragraphs": 4, + "list_items": 3, + "markdown_headings": 0, + "bold_spans": 3 + }, + "quality": { + "route_ok": true, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 69, + "stop_reason": "length", + "response_text": "Three practical, low-cost ways to shorten a synthetic team meeting:\n\n1. **Set a hard stop and agenda with owners.** Write a timed agenda (each item = topic + owner + minutes) and share it before the meeting. Appoint one person as timekeeper to cut any item that runs over. Cost: zero — just discipline and a shared doc.\n\n2. **Replace status updates with async updates.** Ban round-robin \"what did everyone do\" updates. Have each person post a 2–3 line status in the channel/doc beforehand, and spend meeting time only on blockers, decisions, and questions. This alone typically removes 15–30% of meeting time.\n\n3. **Default the meeting to 15–25 minutes and end early when done.** Shorter default slots force people to prepare and stay on topic, and \"the meeting ends when the agenda is done\" lets you finish in 12 minutes", + "tool_calls": [], + "first_event_ms": 14103.157, + "first_reasoning_ms": 14103.157, + "first_visible_ms": 15774.243, + "successful_attempt_ms": 21589.805, + "version": "baseline", + "suite": "multitask", + "task_id": "advice", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "9b1ba6a445737760f7670d70dcd86125db61e7b4ed201709609fee3ffd375b94", + "task_category": "advice", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 21589.805 + } + ], + "retry_count": 0, + "end_to_end_ms": 21589.831, + "truncated": true, + "system_digest": "773a3da334aa6aa55f7886330c28b5092e1874eae482adacb9f055ec33a3abe6", + "style": { + "visible_chars": 821, + "visible_words": 140, + "lines": 7, + "paragraphs": 4, + "list_items": 3, + "markdown_headings": 0, + "bold_spans": 3 + }, + "quality": { + "route_ok": true, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13329, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 168, + "reasoning_tokens": 122, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "summarize" + } + } + ], + "first_event_ms": 7252.777, + "first_reasoning_ms": 7252.777, + "first_visible_ms": null, + "successful_attempt_ms": 10076.022, + "version": "baseline", + "suite": "multitask", + "task_id": "summary", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "9516efb4806b1017fa62c1974b3ff7ee895e29bce3c244ed81684422d36796ae", + "task_category": "summary", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 10076.022 + } + ], + "retry_count": 0, + "end_to_end_ms": 10076.045, + "truncated": false, + "system_digest": "f74080f2ffd45edaaf454c0fdb49af588e4065d780c4c8780d40710c85dbd20b", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12679, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 82, + "reasoning_tokens": 48, + "stop_reason": "stop", + "response_text": "The Atlas team moved its release review from Friday to Wednesday, giving engineers two extra days to resolve findings before the Monday release, with no changes to staffing or scope.", + "tool_calls": [], + "first_event_ms": 2461.269, + "first_reasoning_ms": 2461.269, + "first_visible_ms": 3194.591, + "successful_attempt_ms": 5188.579, + "version": "candidate", + "suite": "multitask", + "task_id": "summary", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "9516efb4806b1017fa62c1974b3ff7ee895e29bce3c244ed81684422d36796ae", + "task_category": "summary", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5188.579 + } + ], + "retry_count": 0, + "end_to_end_ms": 5188.599, + "truncated": false, + "system_digest": "f9baa192916669ecbfb254d7ba9dc42952f5403a1c45ed2324788c695cd721d8", + "style": { + "visible_chars": 182, + "visible_words": 30, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12655, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 221, + "reasoning_tokens": 39, + "stop_reason": "stop", + "response_text": "- **Ordering / range scans:** B-tree keeps keys sorted, so it supports range scans, prefix matches, and ordered traversal. A hash index only supports exact-match (equality) lookups.\n- **Complexity:** B-tree lookups/updates are O(log n). Hash index offers O(1) average lookups but can degrade to O(n) under heavy collisions.\n- **Memory/disk usage:** Hash indexes typically have higher overhead for dynamic growth and perform poorly when sized too small or too large. B-trees are more predictable and disk-friendly (fewer random I/Os).\n- **Concurrency / durability:** B-trees are the default in most databases, with mature support for transactions, locking, and recovery. Hash indexes are often in-memory only, not crash-safe, and may not persist across restarts (e.g., MySQL's MEMORY engine).", + "tool_calls": [], + "first_event_ms": 3996.003, + "first_reasoning_ms": 3996.003, + "first_visible_ms": 4230.243, + "successful_attempt_ms": 12931.114, + "version": "candidate", + "suite": "multitask", + "task_id": "technical_comparison", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "b756c2f93cd5c267c71ce7c8d1ff2a054530faeb08f45ea0f812c351cc3eeb03", + "task_category": "technical_comparison", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 126869.659 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 12931.114 + } + ], + "retry_count": 1, + "end_to_end_ms": 140053.189, + "truncated": false, + "system_digest": "7638a18b4b9c98993ad9125d49afc6189abef0149e074a28c98d585575684477", + "style": { + "visible_chars": 791, + "visible_words": 117, + "lines": 4, + "paragraphs": 1, + "list_items": 4, + "markdown_headings": 0, + "bold_spans": 4 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13305, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 242, + "reasoning_tokens": 45, + "stop_reason": "stop", + "response_text": "- **Lookup type:** B-tree supports range and ordered queries (`<`, `>`, `BETWEEN`, `LIKE 'prefix%'`) plus equality; hash indexes are optimized only for exact equality (`=` / `IN`).\n- **Structure:** B-tree stores keys in sorted order in a balanced tree, so it scales logarithmically with data size; hash index maps keys to buckets via a hash function, giving O(1) average lookups.\n- **Ordering & sorting:** B-tree naturally returns results in key order and powers `ORDER BY`/`GROUP BY`; hash index has no inherent order, so it cannot help with sorting or range scans.\n- **Storage & maintenance:** Hash indexes are usually compact and fast for point lookups but may degrade with collisions, uneven distribution, or resizing; B-trees cost more for writes (node splits/merges) but offer predictable performance and are the default index in most databases.", + "tool_calls": [], + "first_event_ms": 8918.945, + "first_reasoning_ms": 8918.945, + "first_visible_ms": 10156.976, + "successful_attempt_ms": 16549.636, + "version": "baseline", + "suite": "multitask", + "task_id": "technical_comparison", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "b756c2f93cd5c267c71ce7c8d1ff2a054530faeb08f45ea0f812c351cc3eeb03", + "task_category": "technical_comparison", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 16549.636 + } + ], + "retry_count": 0, + "end_to_end_ms": 16549.67, + "truncated": false, + "system_digest": "9f7b6350f16539d5d3c1591bf08a311e829368a3b0df70bcb613b2083802ddbc", + "style": { + "visible_chars": 851, + "visible_words": 126, + "lines": 4, + "paragraphs": 1, + "list_items": 4, + "markdown_headings": 0, + "bold_spans": 4 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13310, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 112, + "reasoning_tokens": 29, + "stop_reason": "stop", + "response_text": "Subject: Confirmed — Project Atlas Review Rescheduled to Wednesday, 10:00 AM\n\nHi [Name],\n\nThis is to confirm that our Project Atlas review has been moved to Wednesday at 10:00 AM.\n\nPlease let me know if this time no longer works or if there's anything you'd like added to the agenda. I look forward to connecting then.\n\nBest regards,\n[Your Name]", + "tool_calls": [], + "first_event_ms": 5739.337, + "first_reasoning_ms": 5739.337, + "first_visible_ms": 6305.406, + "successful_attempt_ms": 11163.662, + "version": "baseline", + "suite": "multitask", + "task_id": "business_writing", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "52149552292eee4ae9c6c012a291932fc2356daa3bc4cc0fe6874f9bedded441", + "task_category": "business_writing", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120073.127 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 11163.662 + } + ], + "retry_count": 1, + "end_to_end_ms": 131492.22, + "truncated": false, + "system_digest": "f603cafd64b2ab4795172c3e3733643b005a4c5c282120699d345b3cce0177d5", + "style": { + "visible_chars": 345, + "visible_words": 61, + "lines": 10, + "paragraphs": 5, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12660, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 108, + "reasoning_tokens": 38, + "stop_reason": "stop", + "response_text": "Subject: Project Atlas Review — Rescheduled to Wednesday at 10:00\n\nHi [Name],\n\nThis is to confirm that the Project Atlas review has been moved to Wednesday at 10:00.\n\nPlease let me know if this time works for you, and feel free to reach out with any questions.\n\nBest regards,\n[Your Name]", + "tool_calls": [], + "first_event_ms": 3793.594, + "first_reasoning_ms": 3793.594, + "first_visible_ms": 4326.524, + "successful_attempt_ms": 7723.234, + "version": "candidate", + "suite": "multitask", + "task_id": "business_writing", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "52149552292eee4ae9c6c012a291932fc2356daa3bc4cc0fe6874f9bedded441", + "task_category": "business_writing", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7723.234 + } + ], + "retry_count": 0, + "end_to_end_ms": 7723.259, + "truncated": false, + "system_digest": "b6a050a9459292d9b439f1af2ef6df82213e1932387756726a600a460f52a336", + "style": { + "visible_chars": 287, + "visible_words": 52, + "lines": 10, + "paragraphs": 5, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12674, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 67, + "reasoning_tokens": 44, + "stop_reason": "stop", + "response_text": "Nimbus passed all 18 checks, cut startup time by 12%, and kept its API unchanged.", + "tool_calls": [], + "first_event_ms": 5816.057, + "first_reasoning_ms": 5816.057, + "first_visible_ms": 7988.649, + "successful_attempt_ms": 11842.497, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_summarize", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "5b74800560f1d42f2a369a5e110167a16f8784ae34377eb3e74a0ca671105e8b", + "task_category": "migration", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 11842.497 + } + ], + "retry_count": 0, + "end_to_end_ms": 11842.516, + "truncated": false, + "system_digest": "d8eba093f1f93212021cb2668e8a19b816c5c729f1e2e6a1d6a38c08f5d87e92", + "style": { + "visible_chars": 81, + "visible_words": 15, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13324, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 80, + "reasoning_tokens": 57, + "stop_reason": "stop", + "response_text": "Nimbus passed all 18 checks, cut startup time by 12%, and kept its API unchanged.", + "tool_calls": [], + "first_event_ms": 9155.508, + "first_reasoning_ms": 9155.508, + "first_visible_ms": 10441.17, + "successful_attempt_ms": 16543.415, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_summarize", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "5b74800560f1d42f2a369a5e110167a16f8784ae34377eb3e74a0ca671105e8b", + "task_category": "migration", + "route_kind": "direct", + "expected_names": [], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 16543.415 + } + ], + "retry_count": 0, + "end_to_end_ms": 16543.441, + "truncated": false, + "system_digest": "c80b2c7dc84e0d64e94d5f8573defb9d91c1f610bdce9b2a56c1fdfca74f58bb", + "style": { + "visible_chars": 81, + "visible_words": 15, + "lines": 1, + "paragraphs": 1, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13306, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 125, + "reasoning_tokens": 81, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "weather" + } + } + ], + "first_event_ms": 5924.129, + "first_reasoning_ms": 5924.129, + "first_visible_ms": null, + "successful_attempt_ms": 9081.747, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_weather", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "235da014104e000a6c679a9beb69c3da414f2473e441cb6d137d0a4512494343", + "task_category": "migration", + "route_kind": "tool", + "expected_names": [ + "web_search", + "web_discover", + "web_fetch", + "http_request" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9081.747 + } + ], + "retry_count": 0, + "end_to_end_ms": 9081.767, + "truncated": false, + "system_digest": "fa6196bc37019286a405a3ed571e7c3e5190fc42b932c893b99c1ffb57f3071f", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12656, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 250, + "reasoning_tokens": 122, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "web_fetch", + "arguments": { + "url": "https://api.open-meteo.com/v1/forecast?latitude=31.23&longitude=121.47¤t=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m&timezone=Asia%2FShanghai", + "extract_mode": "text" + } + } + ], + "first_event_ms": 5626.028, + "first_reasoning_ms": 5626.028, + "first_visible_ms": null, + "successful_attempt_ms": 8657.693, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_weather", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "235da014104e000a6c679a9beb69c3da414f2473e441cb6d137d0a4512494343", + "task_category": "migration", + "route_kind": "tool", + "expected_names": [ + "web_search", + "web_discover", + "web_fetch", + "http_request" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8657.693 + } + ], + "retry_count": 0, + "end_to_end_ms": 8657.713, + "truncated": false, + "system_digest": "d980f9ba8d68cfa45af7e4ed9e29b90ee939012c76fe94dda83007ee78f87c8f", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 67, + "reasoning_tokens": 19, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "list_dir", + "arguments": { + "path": "/workspace/demo" + } + } + ], + "first_event_ms": 6238.298, + "first_reasoning_ms": 6238.298, + "first_visible_ms": null, + "successful_attempt_ms": 8936.117, + "version": "candidate", + "suite": "multitask", + "task_id": "hidden_filesystem", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "b35d1e9fb8e2b085ef639f715e9aec6fa2aea0320dc664c8b4a4d65da77a7ccf", + "task_category": "migration", + "route_kind": "tool", + "expected_names": [ + "list_dir", + "glob_search", + "exec_command" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8936.117 + } + ], + "retry_count": 0, + "end_to_end_ms": 8936.149, + "truncated": false, + "system_digest": "d9f30d77a5757f8b247bc8d371f64ed403c3fca7e2dd00fc1a901861e126d3ba", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 68, + "reasoning_tokens": 20, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "list_dir", + "arguments": { + "path": "/workspace/demo" + } + } + ], + "first_event_ms": 16281.978, + "first_reasoning_ms": 16281.978, + "first_visible_ms": null, + "successful_attempt_ms": 17924.158, + "version": "baseline", + "suite": "multitask", + "task_id": "hidden_filesystem", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "b35d1e9fb8e2b085ef639f715e9aec6fa2aea0320dc664c8b4a4d65da77a7ccf", + "task_category": "migration", + "route_kind": "tool", + "expected_names": [ + "list_dir", + "glob_search", + "exec_command" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 17924.158 + } + ], + "retry_count": 0, + "end_to_end_ms": 17924.182, + "truncated": false, + "system_digest": "20f1ca9009d84657fa67ab0c234a07f5fe2a707fa58e8adc42ae4c62aec334f1", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13302, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 121, + "reasoning_tokens": 75, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "git-diff" + } + } + ], + "first_event_ms": 5051.573, + "first_reasoning_ms": 5051.573, + "first_visible_ms": null, + "successful_attempt_ms": 9941.563, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_git_diff", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "ca16682bf413df1a58d0ec5e55aff7e2b4c8759ab404f57a14db61375b9e67a3", + "task_category": "migration", + "route_kind": "tool", + "expected_names": [ + "git_diff", + "exec_command" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120184.277 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9941.563 + } + ], + "retry_count": 1, + "end_to_end_ms": 130377.414, + "truncated": false, + "system_digest": "73ccf73ddd02a13fffe3b162e8e2bc8f4967cab30cc582d7c49a3d9035409d12", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12652, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 70, + "reasoning_tokens": 28, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "git_status", + "arguments": {} + }, + { + "name": "git_diff", + "arguments": {} + } + ], + "first_event_ms": 6103.566, + "first_reasoning_ms": 6103.566, + "first_visible_ms": null, + "successful_attempt_ms": 7411.221, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_git_diff", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "ca16682bf413df1a58d0ec5e55aff7e2b4c8759ab404f57a14db61375b9e67a3", + "task_category": "migration", + "route_kind": "tool", + "expected_names": [ + "git_diff", + "exec_command" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7411.221 + } + ], + "retry_count": 0, + "end_to_end_ms": 7411.241, + "truncated": false, + "system_digest": "6be21fe398223c76d537830c8385c25ab0cfb2cfe036f2735dd23050cf41a46d", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12660, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 73, + "reasoning_tokens": 26, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "pdf-toolkit" + } + } + ], + "first_event_ms": 2258.341, + "first_reasoning_ms": 2258.341, + "first_visible_ms": null, + "successful_attempt_ms": 4053.8, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_nano_pdf", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "8242792e350da00c4248195d6102dce93b896b5d4b3309f0c41640d15e675a47", + "task_category": "migration", + "route_kind": "skill", + "expected_names": [ + "pdf-toolkit" + ], + "coding_mode": false, + "explicit_skill": true, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4053.8 + } + ], + "retry_count": 0, + "end_to_end_ms": 4053.829, + "truncated": false, + "system_digest": "6b9b14badf6293fea3d201b3c3af95209d6a06c02fa9b187259d51253b1f7bc0", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13310, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 114, + "reasoning_tokens": 67, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "pdf-toolkit" + } + } + ], + "first_event_ms": 7381.786, + "first_reasoning_ms": 7381.786, + "first_visible_ms": null, + "successful_attempt_ms": 9628.175, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_nano_pdf", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "8242792e350da00c4248195d6102dce93b896b5d4b3309f0c41640d15e675a47", + "task_category": "migration", + "route_kind": "skill", + "expected_names": [ + "pdf-toolkit" + ], + "coding_mode": false, + "explicit_skill": true, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 9628.175 + } + ], + "retry_count": 0, + "end_to_end_ms": 9628.196, + "truncated": false, + "system_digest": "0f4af05c67ae9cde4357f5c06d204d65a85686459084b70d5581649114ec3ff7", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13306, + "cached_input_tokens": 13184, + "cache_write_tokens": 0, + "output_tokens": 185, + "reasoning_tokens": 136, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "meta_invoke", + "arguments": { + "name": "meta-short-drama" + } + } + ], + "first_event_ms": 2890.226, + "first_reasoning_ms": 2890.226, + "first_visible_ms": null, + "successful_attempt_ms": 7533.375, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_seedance", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "1f5680e80a941f67009b9207c44371fa0d4ce8a9815455fcb88164abead687f4", + "task_category": "migration", + "route_kind": "meta", + "expected_names": [ + "meta-short-drama" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 120075.605 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 7533.375 + } + ], + "retry_count": 1, + "end_to_end_ms": 127861.299, + "truncated": false, + "system_digest": "8817b210b23e5e067337cb9505085bc18ed3a5106c9c4e7f30f26f3aadf1d058", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12656, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 155, + "reasoning_tokens": 106, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "meta_invoke", + "arguments": { + "name": "meta-short-drama" + } + } + ], + "first_event_ms": 6650.675, + "first_reasoning_ms": 6650.675, + "first_visible_ms": null, + "successful_attempt_ms": 8445.153, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_seedance", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "1f5680e80a941f67009b9207c44371fa0d4ce8a9815455fcb88164abead687f4", + "task_category": "migration", + "route_kind": "meta", + "expected_names": [ + "meta-short-drama" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 8445.153 + } + ], + "retry_count": 0, + "end_to_end_ms": 8445.176, + "truncated": false, + "system_digest": "0d80b4af195f7d1a30897e9782edcae946e5ea9cbd97f760b49d72018210cc8d", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12660, + "cached_input_tokens": 12544, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 256, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 1247.258, + "first_reasoning_ms": 1247.258, + "first_visible_ms": null, + "successful_attempt_ms": 5692.253, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_ai_video_script", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "83f5c30aa7dd2fa6697459d16d9d8f70b86422bf7c4432c16165c39a25f4dc5f", + "task_category": "migration", + "route_kind": "meta", + "expected_names": [ + "meta-short-drama" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 128981.185 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 5692.253 + } + ], + "retry_count": 1, + "end_to_end_ms": 134924.449, + "truncated": true, + "system_digest": "e2e01f249a4c82d98d334a8e0193e61530318ae6b5e8ee97ea199347aec7f2da", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13310, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 256, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 2883.177, + "first_reasoning_ms": 2883.177, + "first_visible_ms": null, + "successful_attempt_ms": 6686.018, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_ai_video_script", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "83f5c30aa7dd2fa6697459d16d9d8f70b86422bf7c4432c16165c39a25f4dc5f", + "task_category": "migration", + "route_kind": "meta", + "expected_names": [ + "meta-short-drama" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 6686.018 + } + ], + "retry_count": 0, + "end_to_end_ms": 6686.035, + "truncated": true, + "system_digest": "e3c1c71b7cbd4ba3cea591c5758457fc66586677910f2c984a0216c47f83125d", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13303, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 256, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 1257.722, + "first_reasoning_ms": 1257.722, + "first_visible_ms": null, + "successful_attempt_ms": 4521.207, + "version": "baseline", + "suite": "multitask", + "task_id": "paper_dependency_replacement", + "catalog_generation": 0, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "614a273c1276ea73f456730f8336c595c81e61ccc8c56604d14da9726457700d", + "task_category": "migration", + "route_kind": "meta", + "expected_names": [ + "meta-paper-write" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4521.207 + } + ], + "retry_count": 0, + "end_to_end_ms": 4521.227, + "truncated": true, + "system_digest": "bec8ac65826be067ad89d72787ca00e620d6abb50b324583bf71f2a78094c96a", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12653, + "cached_input_tokens": 1280, + "cache_write_tokens": 0, + "output_tokens": 256, + "reasoning_tokens": 256, + "stop_reason": "length", + "response_text": "", + "tool_calls": [], + "first_event_ms": 2004.064, + "first_reasoning_ms": 2004.064, + "first_visible_ms": null, + "successful_attempt_ms": 4008.673, + "version": "candidate", + "suite": "multitask", + "task_id": "paper_dependency_replacement", + "catalog_generation": 1, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "stable_prefix_digest": "bdf68b7a6c4040663252f1cd1bbc32c637f2517f3b2db45b1ddb8b1368bac28b", + "dynamic_suffix_digest": "614a273c1276ea73f456730f8336c595c81e61ccc8c56604d14da9726457700d", + "task_category": "migration", + "route_kind": "meta", + "expected_names": [ + "meta-paper-write" + ], + "coding_mode": false, + "explicit_skill": false, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4008.673 + } + ], + "retry_count": 0, + "end_to_end_ms": 4008.685, + "truncated": true, + "system_digest": "810c350ccfd08a2df2d35a8e50d3de7ff3037aa8c87a7eb0a7c739b299bba1fb", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": false, + "task_success": false, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 12762, + "cached_input_tokens": 128, + "cache_write_tokens": 0, + "output_tokens": 74, + "reasoning_tokens": 29, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "code-task" + } + } + ], + "first_event_ms": 3334.693, + "first_reasoning_ms": 3334.693, + "first_visible_ms": null, + "successful_attempt_ms": 4345.545, + "version": "candidate", + "suite": "multitask", + "task_id": "retired_sub_agent", + "catalog_generation": 1, + "catalog_digest": "dd4a26913520e3f1caf019f1ec5d56bf3644bce9d1f870f75f649918c4e63af2", + "stable_prefix_digest": "d452d2107d826bffcae2c53f859caea807121b971332928b71aa4e9a1dc1288a", + "dynamic_suffix_digest": "c4e2d1a2fd36b29f4b70bbbe08164fb0d8e5ede217d2689cb92dac4006216cbf", + "task_category": "migration", + "route_kind": "skill_or_core", + "expected_names": [ + "code-task", + "read_file", + "apply_patch", + "exec_command" + ], + "coding_mode": true, + "explicit_skill": true, + "attempts": [ + { + "attempt": 1, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4345.545 + } + ], + "retry_count": 0, + "end_to_end_ms": 4345.565, + "truncated": false, + "system_digest": "92d9240702985f9699bc541b17aacef6dc6c60d8dbca224a9be5e7f63f854b63", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + }, + { + "success": true, + "input_tokens": 13324, + "cached_input_tokens": 13312, + "cache_write_tokens": 0, + "output_tokens": 100, + "reasoning_tokens": 55, + "stop_reason": "tool_calls", + "response_text": "", + "tool_calls": [ + { + "name": "skill_view", + "arguments": { + "name": "code-task" + } + } + ], + "first_event_ms": 1240.15, + "first_reasoning_ms": 1240.15, + "first_visible_ms": null, + "successful_attempt_ms": 4085.756, + "version": "baseline", + "suite": "multitask", + "task_id": "retired_sub_agent", + "catalog_generation": 0, + "catalog_digest": "60bb59aa9257ac5abe35bc588497abd0cab6e742806da11a2ac031581f759c3c", + "stable_prefix_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_suffix_digest": "c4e2d1a2fd36b29f4b70bbbe08164fb0d8e5ede217d2689cb92dac4006216cbf", + "task_category": "migration", + "route_kind": "skill_or_core", + "expected_names": [ + "code-task", + "read_file", + "apply_patch", + "exec_command" + ], + "coding_mode": true, + "explicit_skill": true, + "attempts": [ + { + "attempt": 1, + "success": false, + "error_class": "timeout", + "error_code": "timeout", + "retry_after_seconds": null, + "latency_ms": 122527.626 + }, + { + "attempt": 2, + "success": true, + "error_class": null, + "error_code": null, + "retry_after_seconds": null, + "latency_ms": 4085.756 + } + ], + "retry_count": 1, + "end_to_end_ms": 126864.216, + "truncated": false, + "system_digest": "0597bd34899a96893226da323295fcbdb58f26dc46cb30afab4fabcd59a51649", + "style": { + "visible_chars": 0, + "visible_words": 0, + "lines": 0, + "paragraphs": 0, + "list_items": 0, + "markdown_headings": 0, + "bold_spans": 0 + }, + "quality": { + "route_ok": true, + "task_success": true, + "false_no_skill_claim": false, + "explicit_skill_missed": false + } + } + ] +} diff --git a/docs/evidence/skill-simplification/summary.json b/docs/evidence/skill-simplification/summary.json new file mode 100644 index 0000000000..e151fc337b --- /dev/null +++ b/docs/evidence/skill-simplification/summary.json @@ -0,0 +1,615 @@ +{ + "schema_version": 1, + "identity": { + "baseline_commit_sha": "27ca02ca4596f8f24fe79ab603f068cbec6ab858", + "candidate_commit_sha": "058a7675a24177f513ca9262b1d0db96578c1e58", + "baseline_worktree": { + "state": "clean", + "entry_count": 0, + "porcelain_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "candidate_worktree": { + "state": "clean", + "entry_count": 0, + "porcelain_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "candidate_snapshot_method": "git commit-tree over a temporary index", + "provider": "tokenrhythm", + "model": "deepseek-v4-pro-0813", + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_schema_count": 58, + "machine": { + "os": "Darwin", + "architecture": "arm64", + "python": "3.12.13" + } + }, + "parameters": { + "temperature": null, + "top_p": null, + "concurrency": 1, + "output_limit_tokens": 256, + "calibration_output_limit_tokens": 32, + "request_timeout_seconds": 150.0, + "micro_groups": 5, + "micro_order": "alternating ABBA/BAAB", + "continuity_sessions": 5, + "continuity_turns_per_session": 10, + "synthetic_only": true, + "skills_max_prompt_chars": 8000, + "meta_skill_enabled": true, + "meta_auto_trigger": true, + "default_coding_mode": false, + "cold_cache_definition": "first request in each synthetic continuity session", + "warm_cache_definition": "turns 2-10 in the same fixed-history session" + }, + "prompt_identity": { + "base_system_developer_prompt": "System instructions:\nYou are OpenSquilla running a synthetic, non-user benchmark. Follow the task\naccurately, use a listed Skill only when it clearly applies, and never invent\ntool results.\n\nDeveloper instructions:\nBe concise. Use the available tools when current or workspace state is needed.\nWhen a catalog entry is relevant, follow its documented loading route.", + "dynamic_suffix_template": "Synthetic per-turn context: {request_key}. No private user data is present.", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "baseline_catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "candidate_catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49" + }, + "catalogs": { + "baseline": { + "layout": "catalog_after_dynamic", + "eligibility_profile": "synthetic_full_capability", + "physical_bundled_count": 75, + "model_visible_bundled_count": 48, + "rendered_bundled_count": 48, + "complete_catalog_chars": 21675, + "actual_catalog_chars": 6777, + "catalog_digest": "71665c7e8d8deffbf20db8726ff640dc715c64ad58a9f5f6b05ac5df885abb16", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "catalog_generation": 0, + "catalog_names": [ + "AwesomeWebpageMetaSkill", + "advanced-dubbing-studio", + "ai-video-script", + "audio-cog", + "cron", + "deep-research", + "docx", + "filesystem", + "git-diff", + "github", + "history-explorer", + "html-coder", + "html-to-pdf", + "http-fetch", + "latex-compile", + "meta-paper-write", + "meta-short-drama", + "meta-skill-creator", + "multi-search-engine", + "music-and-singing-studio", + "nano-banana-pro", + "nano-pdf", + "paper-abstract-author", + "paper-citation-planner", + "paper-experiment-stub", + "paper-outline-author", + "paper-plot-stub", + "paper-preference-planner", + "paper-revision-author", + "paper-source-curator", + "pdf-toolkit", + "pptx", + "seedance-2-prompt", + "skill-creator", + "sub-agent", + "subtitle-burner", + "summarize", + "text-file-read", + "title-card-image", + "tmux", + "video-merger", + "video-still-animator", + "voice-clone-lab", + "voice-conversion-studio", + "voiceover-studio", + "weather", + "web-search", + "xlsx" + ], + "omitted_count": 0, + "local_timing": { + "cold_catalog_build_ms": 196.8915, + "warm_snapshot_iterations": 500, + "warm_snapshot_ms_median": 8.3e-05, + "warm_snapshot_ms_mean": 9.7e-05, + "render_iterations": 500, + "render_ms_median": 0.174208, + "render_ms_mean": 0.177417 + }, + "tool_schema_count": 58, + "tool_schema_chars": 50012, + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_names": [ + "agents_list", + "apply_patch", + "audio_config", + "audio_provider_capabilities", + "background_process", + "create_csv", + "create_pdf_report", + "create_xlsx", + "cron", + "dubbing_download", + "dubbing_generate", + "dubbing_status", + "edit_file", + "exec_command", + "execute_code", + "gateway", + "git_commit", + "git_diff", + "git_log", + "git_status", + "glob_search", + "grep_search", + "http_request", + "image", + "image_generate", + "install_skill_deps", + "list_dir", + "message", + "meta_invoke", + "music_generate", + "pdf", + "process", + "publish_artifact", + "read_file", + "read_spreadsheet", + "router_control", + "session_status", + "sessions_history", + "sessions_list", + "sessions_send", + "sessions_spawn", + "sessions_yield", + "skill_create", + "skill_delete", + "skill_edit", + "skill_install_community", + "skill_list", + "skill_search_community", + "skill_view", + "song_generate", + "tts", + "voice_clone", + "voice_convert", + "voice_search", + "web_discover", + "web_fetch", + "web_search", + "write_file" + ] + }, + "candidate": { + "layout": "catalog_before_dynamic", + "eligibility_profile": "synthetic_full_capability", + "physical_bundled_count": 44, + "model_visible_bundled_count": 11, + "rendered_bundled_count": 11, + "complete_catalog_chars": 6059, + "actual_catalog_chars": 4509, + "catalog_digest": "5f91d728b017a0609abd77c37df38fbac683680a56e234b719478d93eb00de49", + "base_digest": "e97cfbc8a1d05fa34d6c332b99460aa2b554c4c6d83fceeda44e5a6739badf0f", + "dynamic_template_digest": "3f3dc3f237086cd08aea173e9f72610f001e3a55a61cd6ee95393f752816580e", + "catalog_generation": 1, + "catalog_names": [ + "deep-research", + "docx", + "github", + "html-coder", + "pdf-toolkit", + "pptx", + "skill-creator", + "xlsx", + "meta-paper-write", + "meta-short-drama", + "meta-skill-creator" + ], + "omitted_count": 0, + "local_timing": { + "cold_catalog_build_ms": 240.668125, + "warm_snapshot_iterations": 500, + "warm_snapshot_ms_median": 0.000167, + "warm_snapshot_ms_mean": 0.000166, + "render_iterations": 500, + "render_ms_median": 0.057625, + "render_ms_mean": 0.057689 + }, + "tool_schema_count": 58, + "tool_schema_chars": 50012, + "tool_schema_digest": "fc6227e41e64a69cea4c8251d7554efb520dd17ceb746efce11fbb644b290d97", + "tool_names": [ + "agents_list", + "apply_patch", + "audio_config", + "audio_provider_capabilities", + "background_process", + "create_csv", + "create_pdf_report", + "create_xlsx", + "cron", + "dubbing_download", + "dubbing_generate", + "dubbing_status", + "edit_file", + "exec_command", + "execute_code", + "gateway", + "git_commit", + "git_diff", + "git_log", + "git_status", + "glob_search", + "grep_search", + "http_request", + "image", + "image_generate", + "install_skill_deps", + "list_dir", + "message", + "meta_invoke", + "music_generate", + "pdf", + "process", + "publish_artifact", + "read_file", + "read_spreadsheet", + "router_control", + "session_status", + "sessions_history", + "sessions_list", + "sessions_send", + "sessions_spawn", + "sessions_yield", + "skill_create", + "skill_delete", + "skill_edit", + "skill_install_community", + "skill_list", + "skill_search_community", + "skill_view", + "song_generate", + "tts", + "voice_clone", + "voice_convert", + "voice_search", + "web_discover", + "web_fetch", + "web_search", + "write_file" + ] + } + }, + "calibration": { + "shared": { + "system_developer_tokens": 72, + "tool_schema_tokens": 11343 + }, + "versions": { + "baseline": { + "catalog_tokens": 1771, + "cacheable_prefix_tokens": 11415, + "body_tokens": { + "ordinary": 744, + "meta_step": 2317 + } + }, + "candidate": { + "catalog_tokens": 1121, + "cacheable_prefix_tokens": 12536, + "body_tokens": { + "ordinary": 744, + "meta_step": 2317 + } + } + }, + "body_samples": { + "baseline": { + "ordinary": { + "skill": "github", + "chars": 2430, + "digest": "73380d1a356321d3393dd7170c302554b197362885fe306addd0cf5a49d21a9b" + }, + "meta_step": { + "skill": "paper-section-author", + "chars": 10356, + "digest": "0a5bf34d20aa95da647d7a1d51de57f863298f8d3d2b33ed258b26b5a2b39731" + } + }, + "candidate": { + "ordinary": { + "skill": "github", + "chars": 2430, + "digest": "73380d1a356321d3393dd7170c302554b197362885fe306addd0cf5a49d21a9b" + }, + "meta_step": { + "skill": "paper-section-author", + "chars": 10356, + "digest": "0a5bf34d20aa95da647d7a1d51de57f863298f8d3d2b33ed258b26b5a2b39731" + } + } + } + }, + "suites": { + "micro": { + "baseline": { + "requests": 10, + "successful": 10, + "failed": 0, + "input_tokens_mean": 13302.4, + "input_tokens_median": 13303.0, + "cached_input_tokens_mean": 6656.0, + "cached_input_tokens_median": 6656.0, + "cache_read_ratio": 0.500361, + "uncached_input_tokens_mean": 6646.4, + "uncached_input_tokens_median": 6646.5, + "output_tokens_mean": 116.1, + "output_tokens_median": 82.5, + "reasoning_tokens_median": 23.5, + "input_output_tokens_total": 134858, + "first_event_ms_median": 1833.71, + "first_reasoning_ms_median": 1954.208, + "first_visible_ms_median": 2179.493, + "successful_attempt_ms_median": 3590.581, + "end_to_end_ms_median": 3590.619, + "end_to_end_ms_mean": 4146.984, + "retry_count": 0, + "truncated_count": 2, + "errors": {} + }, + "candidate": { + "requests": 10, + "successful": 10, + "failed": 0, + "input_tokens_mean": 12652.4, + "input_tokens_median": 12653.0, + "cached_input_tokens_mean": 9152.0, + "cached_input_tokens_median": 12544.0, + "cache_read_ratio": 0.723341, + "uncached_input_tokens_mean": 3500.4, + "uncached_input_tokens_median": 109.5, + "output_tokens_mean": 98.4, + "output_tokens_median": 95.0, + "reasoning_tokens_median": 27.5, + "input_output_tokens_total": 127886, + "first_event_ms_median": 1846.608, + "first_reasoning_ms_median": 1846.608, + "first_visible_ms_median": 2681.931, + "successful_attempt_ms_median": 4184.856, + "end_to_end_ms_median": 4588.178, + "end_to_end_ms_mean": 41872.885, + "retry_count": 3, + "truncated_count": 0, + "errors": { + "timeout": 3 + } + } + }, + "continuity": { + "baseline": { + "requests": 50, + "successful": 50, + "failed": 0, + "input_tokens_mean": 13455.5, + "input_tokens_median": 13455.5, + "cached_input_tokens_mean": 2780.16, + "cached_input_tokens_median": 128.0, + "cache_read_ratio": 0.206619, + "uncached_input_tokens_mean": 10675.34, + "uncached_input_tokens_median": 13278.0, + "output_tokens_mean": 48.16, + "output_tokens_median": 24.5, + "reasoning_tokens_median": 0.0, + "input_output_tokens_total": 676369, + "first_event_ms_median": 3739.307, + "first_reasoning_ms_median": 2717.53, + "first_visible_ms_median": 4295.825, + "successful_attempt_ms_median": 6158.948, + "end_to_end_ms_median": 7429.35, + "end_to_end_ms_mean": 32617.078, + "retry_count": 12, + "truncated_count": 0, + "errors": { + "5xx": 2, + "timeout": 10 + } + }, + "candidate": { + "requests": 50, + "successful": 48, + "failed": 2, + "input_tokens_mean": 12806.875, + "input_tokens_median": 12822.0, + "cached_input_tokens_mean": 2709.333, + "cached_input_tokens_median": 1280.0, + "cache_read_ratio": 0.211553, + "uncached_input_tokens_mean": 10097.542, + "uncached_input_tokens_median": 11509.0, + "output_tokens_mean": 36.083, + "output_tokens_median": 14.0, + "reasoning_tokens_median": 0.0, + "input_output_tokens_total": 617101, + "first_event_ms_median": 3516.052, + "first_reasoning_ms_median": 3434.197, + "first_visible_ms_median": 4350.533, + "successful_attempt_ms_median": 5668.671, + "end_to_end_ms_median": 7284.785, + "end_to_end_ms_mean": 34608.647, + "retry_count": 13, + "truncated_count": 0, + "errors": { + "5xx": 4, + "timeout": 11 + } + } + }, + "multitask": { + "baseline": { + "requests": 14, + "successful": 14, + "failed": 0, + "input_tokens_mean": 13309.429, + "input_tokens_median": 13306.0, + "cached_input_tokens_mean": 3867.429, + "cached_input_tokens_median": 128.0, + "cache_read_ratio": 0.290578, + "uncached_input_tokens_mean": 9442.0, + "uncached_input_tokens_median": 13175.0, + "output_tokens_mean": 156.5, + "output_tokens_median": 123.0, + "reasoning_tokens_median": 68.0, + "input_output_tokens_total": 189809, + "first_event_ms_median": 5831.733, + "first_reasoning_ms_median": 5831.733, + "first_visible_ms_median": 10156.976, + "successful_attempt_ms_median": 10008.792, + "end_to_end_ms_median": 16546.555, + "end_to_end_ms_mean": 45768.131, + "retry_count": 4, + "truncated_count": 3, + "errors": { + "timeout": 4 + } + }, + "candidate": { + "requests": 14, + "successful": 14, + "failed": 0, + "input_tokens_mean": 12665.714, + "input_tokens_median": 12656.0, + "cached_input_tokens_mean": 3602.286, + "cached_input_tokens_median": 1280.0, + "cache_read_ratio": 0.284412, + "uncached_input_tokens_mean": 9063.429, + "uncached_input_tokens_median": 11376.0, + "output_tokens_mean": 145.643, + "output_tokens_median": 106.0, + "reasoning_tokens_median": 41.5, + "input_output_tokens_total": 180455, + "first_event_ms_median": 3894.798, + "first_reasoning_ms_median": 3894.798, + "first_visible_ms_median": 4278.383, + "successful_attempt_ms_median": 8084.194, + "end_to_end_ms_median": 8551.444, + "end_to_end_ms_mean": 35360.016, + "retry_count": 3, + "truncated_count": 3, + "errors": { + "timeout": 3 + } + } + } + }, + "cache": { + "baseline": { + "cold": { + "requests": 5, + "successful": 5, + "cache_read_ratio": 0.205847, + "cached_input_tokens_median": 128.0, + "uncached_input_tokens_median": 13179.0, + "layout_reuse_ceiling": 0.857819, + "cache_realization": 0.239965 + }, + "warm": { + "requests": 45, + "successful": 45, + "cache_read_ratio": 0.206704, + "cached_input_tokens_median": 128.0, + "uncached_input_tokens_median": 13311.0, + "layout_reuse_ceiling": 0.99755, + "cache_realization": 0.207211 + }, + "prefix_stability_rate": 1.0, + "reinjection_waste": 0.0, + "avoidable_break_rate": 0.0 + }, + "candidate": { + "cold": { + "requests": 5, + "successful": 5, + "cache_read_ratio": 0.277096, + "cached_input_tokens_median": 1280.0, + "uncached_input_tokens_median": 11377.0, + "layout_reuse_ceiling": 0.99044, + "cache_realization": 0.27977 + }, + "warm": { + "requests": 45, + "successful": 43, + "cache_read_ratio": 0.204031, + "cached_input_tokens_median": 1280.0, + "uncached_input_tokens_median": 11538.0, + "layout_reuse_ceiling": 0.996569, + "cache_realization": 0.204734 + }, + "prefix_stability_rate": 1.0, + "reinjection_waste": 0.0, + "avoidable_break_rate": 0.0 + } + }, + "quality": { + "baseline": { + "task_success_rate": 0.571429, + "correct_route_rate": 0.642857, + "false_no_skill_claim_rate": 0.0, + "explicit_skill_miss_rate": 0.0, + "tool_calls_mean": 0.5, + "visible_words_mean": 29.143, + "visible_words_median": 0.0, + "visible_chars_mean": 181.214, + "visible_chars_median": 0.0, + "lines_mean": 1.643, + "paragraphs_mean": 0.857, + "list_items_mean": 0.5, + "markdown_headings_mean": 0.0, + "bold_spans_mean": 0.5 + }, + "candidate": { + "task_success_rate": 0.785714, + "correct_route_rate": 0.857143, + "false_no_skill_claim_rate": 0.0, + "explicit_skill_miss_rate": 0.0, + "tool_calls_mean": 0.5, + "visible_words_mean": 30.214, + "visible_words_median": 0.0, + "visible_chars_mean": 183.929, + "visible_chars_median": 0.0, + "lines_mean": 1.714, + "paragraphs_mean": 0.929, + "list_items_mean": 0.5, + "markdown_headings_mean": 0.0, + "bold_spans_mean": 0.5 + } + }, + "acceptance": { + "all_passed": false, + "gates": { + "average_input_tokens_reduced_at_least_30_percent": false, + "no_multitask_input_growth": true, + "warm_cache_ratio_not_lower": false, + "warm_uncached_median_lower": true, + "prefix_stability_100_percent": true, + "reinjection_waste_zero": true, + "avoidable_break_rate_zero": true, + "median_end_to_end_latency_not_worse_than_5_percent": true, + "nonretired_task_success_not_lower": true, + "no_truncated_samples": false, + "visible_word_median_within_10_percent": false + }, + "derived": { + "multitask_average_input_reduction": 0.048365, + "multitask_latency_ratio": 0.516811, + "visible_word_median_absolute_change_ratio": null, + "truncations": 10 + } + } +} diff --git a/opensquilla-webui/src/adapters/gateway/gatewayAdapters.test.ts b/opensquilla-webui/src/adapters/gateway/gatewayAdapters.test.ts index 713954138c..ae47baca5a 100644 --- a/opensquilla-webui/src/adapters/gateway/gatewayAdapters.test.ts +++ b/opensquilla-webui/src/adapters/gateway/gatewayAdapters.test.ts @@ -34,6 +34,7 @@ describe('Gateway Adapter composition', () => { 'approvalCenter', 'goalCenter', 'goalContinuity', + 'metaSkillCatalog', ]) expect(adapters).not.toHaveProperty('rpc') expect(adapters).not.toHaveProperty('events') diff --git a/opensquilla-webui/src/adapters/gateway/gatewayAdapters.ts b/opensquilla-webui/src/adapters/gateway/gatewayAdapters.ts index 2c5bf91ba9..8f07406e98 100644 --- a/opensquilla-webui/src/adapters/gateway/gatewayAdapters.ts +++ b/opensquilla-webui/src/adapters/gateway/gatewayAdapters.ts @@ -18,6 +18,8 @@ import type { GoalCenter } from '@/modules/goalCenter' import { createV4GoalCenter } from './goalCenterV4' import { createV4GoalContinuity } from './goalContinuityV4' import type { GoalContinuity } from '@/modules/goalContinuity' +import type { MetaSkillCatalog } from '@/modules/metaSkillCatalog' +import { createV4MetaSkillCatalog } from './metaSkillCatalogV4' type RpcStoreTransportSource = Parameters[0] @@ -31,6 +33,7 @@ export interface GatewayAdapters { readonly approvalCenter: ApprovalCenter readonly goalCenter: GoalCenter readonly goalContinuity: GoalContinuity + readonly metaSkillCatalog: MetaSkillCatalog } interface GatewayHttpSource { @@ -66,6 +69,7 @@ export function createGatewayAdapters( approvalCenter: createApprovalCenterV4(transports.rpc, transports.events, { http }), goalCenter: createV4GoalCenter(transports.rpc), goalContinuity: createV4GoalContinuity(transports.rpc, transports.events), + metaSkillCatalog: createV4MetaSkillCatalog(transports.rpc), } return adapters } diff --git a/opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.test.ts b/opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.test.ts new file mode 100644 index 0000000000..8f5e35891d --- /dev/null +++ b/opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.test.ts @@ -0,0 +1,30 @@ +import { describe, expect, it, vi } from 'vitest' + +import { createV4MetaSkillCatalog } from './metaSkillCatalogV4' + +describe('MetaSkill catalog Gateway Adapter', () => { + it('owns MetaSkill wire method names and projects list/detail reads', async () => { + const request = vi.fn(async (method: string) => ( + method === 'meta.list' + ? { skills: [{ name: 'meta-paper-write', kind: 'meta' }] } + : { name: 'meta-paper-write', kind: 'meta', dependencies: [] } + )) as ( + method: string, + params?: Record, + ) => Promise + const catalog = createV4MetaSkillCatalog({ request }) + + await expect(catalog.list()).resolves.toEqual([ + { name: 'meta-paper-write', kind: 'meta' }, + ]) + await expect(catalog.inspect('meta-paper-write')).resolves.toEqual({ + name: 'meta-paper-write', + kind: 'meta', + dependencies: [], + }) + expect(request).toHaveBeenNthCalledWith(1, 'meta.list') + expect(request).toHaveBeenNthCalledWith(2, 'meta.inspect', { + name: 'meta-paper-write', + }) + }) +}) diff --git a/opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.ts b/opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.ts new file mode 100644 index 0000000000..d873950f2e --- /dev/null +++ b/opensquilla-webui/src/adapters/gateway/metaSkillCatalogV4.ts @@ -0,0 +1,25 @@ +import type { MetaSkillCatalog } from '@/modules/metaSkillCatalog' +import type { Skill } from '@/types/skills' + +interface MetaSkillCatalogTransport { + request(method: string, params?: Record): Promise +} + +interface MetaListResponse { + skills?: Skill[] +} + +/** Project MetaSkill list/detail operations behind the Gateway Adapter boundary. */ +export function createV4MetaSkillCatalog( + transport: MetaSkillCatalogTransport, +): MetaSkillCatalog { + return { + async list() { + const response = await transport.request('meta.list') + return response.skills || [] + }, + inspect(name) { + return transport.request('meta.inspect', { name }) + }, + } +} diff --git a/opensquilla-webui/src/components/skills/SkillGroup.lifecycle.test.ts b/opensquilla-webui/src/components/skills/SkillGroup.lifecycle.test.ts index 9d188cc8c0..b168486c31 100644 --- a/opensquilla-webui/src/components/skills/SkillGroup.lifecycle.test.ts +++ b/opensquilla-webui/src/components/skills/SkillGroup.lifecycle.test.ts @@ -19,17 +19,21 @@ describe('SkillGroup lifecycle compatibility', () => { const rpc = { waitForConnection: vi.fn(async () => {}), call: vi.fn(async () => ({ - skills: [{ - name: 'legacy-community-skill', - description: 'Loaded from an older Gateway response', - layer: 'managed', - status: 'ready', - eligible: true, - }], - })), + skills: [{ + name: 'legacy-community-skill', + description: 'Loaded from an older Gateway response', + layer: 'managed', + status: 'ready', + eligible: true, + }], + })), } as unknown as ReturnType + const metaSkillCatalog = { + list: vi.fn(async () => { throw new Error('method not found') }), + inspect: vi.fn(), + } const loadProposals = vi.fn(async () => {}) - const catalog = useSkillsCatalog(rpc, { + const catalog = useSkillsCatalog(rpc, metaSkillCatalog, { proposals: ref([]), autoEnabledSkills: ref([]), proposalsSettings: ref({ @@ -44,6 +48,7 @@ describe('SkillGroup lifecycle compatibility', () => { await expect(catalog.loadData()).resolves.toBe(true) expect(rpc.call).toHaveBeenCalledWith('skills.list', { includeLifecycle: true }) + expect(metaSkillCatalog.list).toHaveBeenCalledOnce() expect(loadProposals).toHaveBeenCalledOnce() expect(catalog.allSkills.value).toHaveLength(1) expect(catalog.allSkills.value[0]?.lifecycle).toBeUndefined() diff --git a/opensquilla-webui/src/composables/skills/useSkillDetailController.test.ts b/opensquilla-webui/src/composables/skills/useSkillDetailController.test.ts index 7a99eff8cc..8225b4ebf8 100644 --- a/opensquilla-webui/src/composables/skills/useSkillDetailController.test.ts +++ b/opensquilla-webui/src/composables/skills/useSkillDetailController.test.ts @@ -1,6 +1,7 @@ // @vitest-environment happy-dom import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { createApp, defineComponent, h } from 'vue' +import type { MetaSkillCatalog } from '@/modules/metaSkillCatalog' import type { Skill, SkillDependencyInstallOutcome } from '@/types/skills' import { useSkillDetailController, @@ -36,13 +37,28 @@ function completeOutcome(): SkillDependencyInstallOutcome { } } -function mountController(options: Parameters[0]) { +type ControllerOptions = Parameters[0] +type TestControllerOptions = Omit & { + metaSkillCatalog?: MetaSkillCatalog +} + +function mountController(options: TestControllerOptions) { let controller!: SkillDetailController const host = document.createElement('div') document.body.appendChild(host) const app = createApp(defineComponent({ setup() { - controller = useSkillDetailController(options) + controller = useSkillDetailController({ + ...options, + metaSkillCatalog: options.metaSkillCatalog || { + async list() { + return [] + }, + async inspect() { + throw new Error('MetaSkill catalog is unavailable in this test.') + }, + }, + }) return () => h('div') }, })) @@ -60,6 +76,28 @@ afterEach(() => { }) describe('useSkillDetailController', () => { + it('loads MetaSkill detail through the typed catalog port', async () => { + const call = vi.fn() + const inspect = vi.fn(async () => ({ + name: 'meta-paper-write', + kind: 'meta', + dependencies: [{ name: 'paper-section-author' }], + }) as Skill) + const installDeps = vi.fn(async () => completeOutcome()) + const { controller, unmount } = mountController({ + rpc: { call }, + metaSkillCatalog: { list: vi.fn(async () => []), inspect }, + installDeps, + }) + + await controller.openSkill({ name: 'meta-paper-write', kind: 'meta' }) + + expect(inspect).toHaveBeenCalledWith('meta-paper-write') + expect(call).not.toHaveBeenCalled() + expect(controller.selectedSkill.value?.sub_skills).toEqual(['paper-section-author']) + unmount() + }) + it('passes the selected lifecycle identity and fences same-name candidate responses', async () => { const managed = deferred() const workspace = deferred() diff --git a/opensquilla-webui/src/composables/skills/useSkillDetailController.ts b/opensquilla-webui/src/composables/skills/useSkillDetailController.ts index 77f293308a..7bfe4ce7e9 100644 --- a/opensquilla-webui/src/composables/skills/useSkillDetailController.ts +++ b/opensquilla-webui/src/composables/skills/useSkillDetailController.ts @@ -1,5 +1,6 @@ import { onUnmounted, ref, type Ref } from 'vue' import i18n from '@/i18n' +import type { MetaSkillCatalog } from '@/modules/metaSkillCatalog' import type { Skill, SkillDependencyInstallOutcome } from '@/types/skills' import { installActionsForCurrentDependencies, @@ -14,6 +15,7 @@ interface SkillDetailRpc { interface SkillDetailControllerOptions { rpc: SkillDetailRpc + metaSkillCatalog: MetaSkillCatalog installDeps: ( name: string, installId: string, @@ -68,6 +70,18 @@ export function useSkillDetailController( } async function fetchLatest(seed: Skill): Promise { + if (seed.kind === 'meta' || seed.kind === 'meta_sop') { + const detail = await options.metaSkillCatalog.inspect(seed.name) + const subSkills = (detail.dependencies || []).map(item => item.name) + return normalizeSkill({ + ...seed, + ...detail, + name: seed.name, + kind: 'meta', + layer: seed.layer || 'bundled', + sub_skills: subSkills, + }) + } const params: Record = { name: seed.name, includeLifecycle: true, diff --git a/opensquilla-webui/src/composables/skills/useSkillsCatalog.ts b/opensquilla-webui/src/composables/skills/useSkillsCatalog.ts index 87e86363dc..5e723210f4 100644 --- a/opensquilla-webui/src/composables/skills/useSkillsCatalog.ts +++ b/opensquilla-webui/src/composables/skills/useSkillsCatalog.ts @@ -1,5 +1,6 @@ import { computed, ref, type ComputedRef, type Ref } from 'vue' import i18n from '@/i18n' +import type { MetaSkillCatalog } from '@/modules/metaSkillCatalog' import type { useRpcStore } from '@/stores/rpc' import type { AutoEnabledSkill, @@ -37,7 +38,7 @@ export interface SkillsCatalog { setStatusFilter: (key: string) => void } -const LAYER_ORDER = ['workspace', 'bundled', 'managed', 'personal', 'project', 'extra'] +const LAYER_ORDER = ['bundled', 'personal', 'managed', 'project', 'workspace', 'extra'] // Known layer keys; labels/help text resolve through i18n by key. const KNOWN_LAYERS = new Set(LAYER_ORDER) @@ -456,6 +457,7 @@ export function skillLayerHelp(layer: string | undefined): string { export function useSkillsCatalog( rpc: ReturnType, + metaSkillCatalog: MetaSkillCatalog, options: SkillsCatalogOptions, ): SkillsCatalog { const t = i18n.global.t @@ -543,8 +545,22 @@ export function useSkillsCatalog( return false } try { - const data = await rpc.call('skills.list', { includeLifecycle: true }) - allSkills.value = (data.skills || []).map(normalizeSkill) + const [data, metaData] = await Promise.all([ + rpc.call('skills.list', { includeLifecycle: true }), + // Mixed-version desktop upgrades can briefly pair the new WebUI with + // an older Gateway. Ordinary Skills remain usable until meta.list is + // available; the next refresh will populate the separate Meta group. + metaSkillCatalog.list().catch(() => []), + ]) + const ordinary = (data.skills || []).map(normalizeSkill) + const metas = metaData.map((skill) => normalizeSkill({ + ...skill, + kind: 'meta', + layer: skill.layer || 'bundled', + eligible: skill.eligible ?? (skill as Skill & { ready?: boolean }).ready, + status: skill.status || ((skill as Skill & { ready?: boolean }).ready ? 'ready' : 'needs_setup'), + })) + allSkills.value = [...ordinary, ...metas] await options.loadProposals() return true } catch (err) { diff --git a/opensquilla-webui/src/main.ts b/opensquilla-webui/src/main.ts index 1af45b7110..6b9f57a2c6 100644 --- a/opensquilla-webui/src/main.ts +++ b/opensquilla-webui/src/main.ts @@ -16,6 +16,7 @@ import { PENDING_INPUT_QUEUE_KEY } from './modules/pendingInputQueue' import { APPROVAL_CENTER_KEY } from './modules/approvalCenter' import { GOAL_CENTER_KEY } from './modules/goalCenter' import { GOAL_CONTINUITY_KEY } from './modules/goalContinuity' +import { META_SKILL_CATALOG_KEY } from './modules/metaSkillCatalog' import 'katex/dist/katex.min.css' import './assets/base.css' import './themes/tokens' // eagerly bundles every value theme's token block @@ -56,6 +57,7 @@ app.provide(PENDING_INPUT_QUEUE_KEY, gatewayAdapters.pendingInputQueue) app.provide(APPROVAL_CENTER_KEY, gatewayAdapters.approvalCenter) app.provide(GOAL_CENTER_KEY, gatewayAdapters.goalCenter) app.provide(GOAL_CONTINUITY_KEY, gatewayAdapters.goalContinuity) +app.provide(META_SKILL_CATALOG_KEY, gatewayAdapters.metaSkillCatalog) router.afterEach(() => { rpcStore.applyLinkTokenFromUrl() }) diff --git a/opensquilla-webui/src/modules/metaSkillCatalog.ts b/opensquilla-webui/src/modules/metaSkillCatalog.ts new file mode 100644 index 0000000000..60601b7cac --- /dev/null +++ b/opensquilla-webui/src/modules/metaSkillCatalog.ts @@ -0,0 +1,21 @@ +import type { InjectionKey } from 'vue' + +import type { Skill } from '@/types/skills' + +/** Typed MetaSkill reads exposed to Vue without leaking Gateway method names. */ +export interface MetaSkillCatalog { + list(): Promise + inspect(name: string): Promise +} + +export const META_SKILL_CATALOG_KEY: InjectionKey = + Symbol('MetaSkillCatalog') + +export const unavailableMetaSkillCatalog: MetaSkillCatalog = { + async list() { + return [] + }, + async inspect() { + throw new Error('MetaSkill catalog is unavailable.') + }, +} diff --git a/opensquilla-webui/src/types/skills.ts b/opensquilla-webui/src/types/skills.ts index b6e3159dc8..b93fd047db 100644 --- a/opensquilla-webui/src/types/skills.ts +++ b/opensquilla-webui/src/types/skills.ts @@ -176,6 +176,22 @@ export interface Skill { lifecycle?: SkillLifecycle diagnostics?: SkillDiagnostic[] invocation?: SkillInvocationCapability + visibility?: 'public' | 'meta' | 'internal' | 'tombstone' | 'experimental' | string + invocation_mode?: 'direct' | 'meta_only' | 'coding_only' | 'historical_only' | 'experimental_internal' | string + owner_meta_skills?: string[] + generation?: number + digest?: string + source?: string + dependency_count?: number + dependencies?: Array<{ + name: string + available: boolean + visibility?: string + invocation?: string + owners?: string[] + digest?: string + source?: string + }> } export interface Proposal { diff --git a/opensquilla-webui/src/utils/skillIcons.ts b/opensquilla-webui/src/utils/skillIcons.ts index 95a859fa56..4e1a8c7949 100644 --- a/opensquilla-webui/src/utils/skillIcons.ts +++ b/opensquilla-webui/src/utils/skillIcons.ts @@ -5,39 +5,22 @@ import type { IconName } from '@/utils/icons' // uniqueness. const EXACT_SKILL_ICONS: Record = { 'audio-cog': 'music', - 'advanced-dubbing-studio': 'microphone', - 'voiceover-studio': 'microphone', - 'voice-conversion-studio': 'volume', - 'voice-clone-lab': 'user', - 'music-and-singing-studio': 'music', docx: 'fileText', xlsx: 'table', pptx: 'monitor', 'pdf-toolkit': 'fileText', - 'nano-pdf': 'fileText', - 'html-to-pdf': 'fileCode', 'html-coder': 'fileCode', - 'latex-compile': 'fileCode', 'text-file-read': 'fileText', filesystem: 'save', - 'git-diff': 'fork', github: 'share', - 'http-fetch': 'download', 'web-search': 'search', 'multi-search-engine': 'search', 'deep-research': 'search', - weather: 'cloud', 'history-explorer': 'clock', - cron: 'cron', - memory: 'sessions', - tmux: 'monitor', 'sub-agent': 'agents', 'code-task': 'fileCode', 'meta-skill-creator': 'skills', 'skill-creator': 'skills', - 'skill-creator-smoke-test': 'check', - 'skill-creator-proposals': 'listChecks', - 'skill-creator-linter': 'check', 'meta-kid-project-planner': 'listChecks', 'meta-short-drama': 'play', 'meta-paper-write': 'fileText', diff --git a/opensquilla-webui/src/views/SkillsView.vue b/opensquilla-webui/src/views/SkillsView.vue index 07d1919f2b..7fe02840d4 100644 --- a/opensquilla-webui/src/views/SkillsView.vue +++ b/opensquilla-webui/src/views/SkillsView.vue @@ -196,7 +196,7 @@