agent-tune-kit 2.3.4__tar.gz → 2.3.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/.codex-plugin/plugin.json +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/PKG-INFO +2 -2
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/README.en.md +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/README.md +2 -2
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/__init__.py +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/dataset/app.js +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/failures/app.js +9 -9
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/failures/page.html +3 -3
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/shared/base.css +14 -12
- agent_tune_kit-2.3.5/agent_tune_kit/visualize/assets/shared/project-menu.js +32 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/trace/app.js +386 -232
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/trace/lanes.js +13 -32
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/trace/page.html +21 -17
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/trace/styles.css +105 -56
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/traces/app.js +53 -32
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/traces/page.html +5 -7
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/traces/styles.css +11 -14
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/failures.py +1 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/history.py +5 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/trace.py +4 -24
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/traces.py +3 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/assets/architecture.svg +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/codex_agent_tuning_prd.md +35 -35
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/execution-evidence-and-tracing-plan.md +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/ground-truth-and-grading-assessment-2026-10-25.md +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/shared-versioning-and-confirmation.md +5 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/skill-template-pack-usage.md +2 -2
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/trace-dashboard-design.md +22 -20
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/trace-project-attribution-design.md +25 -25
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/trace-swimlane-design.md +44 -30
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/trace-tuning.md +8 -7
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/pyproject.toml +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/validate_skill_pack.py +2 -2
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-optimize/SKILL.md +3 -3
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-report/SKILL.md +4 -4
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-trace-diagnose/SKILL.md +5 -5
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_diagnosis.py +13 -2
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_generate_failure_browser.py +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_install_plugin.py +1 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_release_scripts.py +1 -1
- agent_tune_kit-2.3.5/tests/test_trace_event_list.py +13 -0
- agent_tune_kit-2.3.5/tests/test_trace_scroll_layout.py +80 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_visualize_trace.py +21 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_visualize_traces.py +3 -0
- agent_tune_kit-2.3.5/tests/trace-controls.cjs +86 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/trace-dashboard.cjs +100 -28
- agent_tune_kit-2.3.5/tests/trace-event-detail.cjs +116 -0
- agent_tune_kit-2.3.5/tests/trace-event-layout.cjs +178 -0
- agent_tune_kit-2.3.5/tests/trace-event-list.cjs +64 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/trace-event-wheel.cjs +1 -1
- agent_tune_kit-2.3.5/tests/trace-fragments.cjs +332 -0
- agent_tune_kit-2.3.5/tests/trace-issue-cards.cjs +109 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/trace-preview-scroll.cjs +11 -4
- agent_tune_kit-2.3.5/tests/trace-projects.cjs +227 -0
- agent_tune_kit-2.3.5/tests/trace-scroll-layout.cjs +124 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/trace-stage-cards.cjs +21 -1
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/.gitignore +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/__main__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/dataset.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/evaluation.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/main.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/output.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/results.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/trace.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/cli/visualize.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/datasets/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/datasets/prepare.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/datasets/truth.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/datasets/updates.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/datasets/validation.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/errors.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/calibration.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/logs.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/rules.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/runner.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/runtime.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/execution/tracing.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/installer.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/results/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/results/assessment.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/results/evidence.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/results/judgments.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/results/summary.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/results/versions.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/archive.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/capture.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/categories.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/langfuse.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/migrate.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/progress.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/projects.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/query.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/records.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/segments.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/traces/store.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/utils/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/utils/csv_io.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/utils/files.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/dataset/page.html +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/dataset/styles.css +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/dataset/vendor/echarts.min.js +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/failures/styles.css +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/trace/vendor/markdown-it.LICENSE +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/trace/vendor/markdown-it.min.js +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/dataset.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/fields.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/render.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/timeline.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/workspace.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/assets/agent_tune_kit_evaluation.png +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/assets/agent_tune_kit_trace.png +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/assets/arch-en.png +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/assets/arch.png +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/assets/architecture.en.svg +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/ato-atk-project-boundary-recommendation-2026-11-05.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/cli-skill-modularization-plan.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/local-context.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/surginame-atk-capability-review-2026-10-27.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/trace-change-verification-readability-diagnosis.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/trace-tuning-validation.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/docs/truth-and-assessment.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/check-release.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/dev-refresh-install.sh +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/install_plugin.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/publish-pypi.sh +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/publish-release.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/release-version.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/scripts/release-version.sh +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-dataset/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-dataset/scripts/update_dataset.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-diagnose/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-eval/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-init/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-trace-capture/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-trace-detect/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-trace-init/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-trace-optimize/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-trace-verify/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-visualize-dataset/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-visualize-dataset/scripts/generate_dataset_browser.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-visualize-failures/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-visualize-failures/scripts/generate_failure_browser.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/skills/atk-visualize-trace/SKILL.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/templates/.atk/runner/eval_runner.py.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/templates/.atk/runner/failure_rule.py.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/templates/.atk/runner/import_evidence.py.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/templates/.gitkeep +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/__init__.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/conftest.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/fixtures/legacy_eval_runner.py.txt +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/fixtures/managed_v1.py.md +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_assessment_contract.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_atk_init_contract.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_cli_workflow.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_dataset_updates.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_evidence_import.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_evidence_judgments.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_evidence_packaging.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_evidence_versions.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_execution_evidence.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_execution_outcomes.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_execution_tracing.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_generate_dataset_browser.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_judge_calibration.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_local_context.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_plugin_cache.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_runner_output_columns.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_runner_template_row_logging.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_runtime_contracts.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_snapshot_reads.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_capture.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_categories.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_cli.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_langfuse.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_progress.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_projects.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_query.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_records.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_segments.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_trace_store.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_truth_browser.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_truth_cli.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_truth_contract.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_truth_runner.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/test_v2_progress.py +0 -0
- {agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/tests/trace-selection-reason.cjs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-tune-kit",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.5",
|
|
4
4
|
"description": "Local Codex plugin for batch Agent evaluation and session trace tuning with evidence-backed issues, focused changes, verification and offline review.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "hustyichi",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agent-tune-kit
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.5
|
|
4
4
|
Summary: Local Codex plugin for iterative Agent tuning with guided Skills, reusable runner templates, versioned results, and static validation.
|
|
5
5
|
Project-URL: Homepage, https://github.com/hustyichi/agent-tune-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/hustyichi/agent-tune-kit
|
|
@@ -180,7 +180,7 @@ $atk-trace-optimize Implement the selected plan for ISSUE-001 in session <sessio
|
|
|
180
180
|
$atk-trace-verify Verify the candidate for ISSUE-001 in session <session-id> and check relevant behavior that should still work.
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
-
Without specified issues, diagnosis reviews all available session traces and works through existing and newly found
|
|
183
|
+
Without specified issues, diagnosis reviews all available session traces and works through existing and newly found issues, prioritizing causes directly related to project code, configuration, tool contracts, Prompt or Skill. Findings established as unrelated to the existing implementation may be skipped with an explanation. Findings with uncertain relevance remain open for investigation. Specified issues or concrete symptoms limit the investigation scope. You can start directly with diagnosis without a separate detection invocation.
|
|
184
184
|
|
|
185
185
|
Diagnoses and verification conclusions are saved per issue. If the evidence cannot establish which candidate loaded or whether key verification conditions were met, the verification outcome is `inconclusive`. Investigation results identify unread ranges and evidence gaps. As new issues surface, work through them individually or start another analysis with a new session trace.
|
|
186
186
|
|
|
@@ -166,7 +166,7 @@ $atk-trace-optimize Implement the selected plan for ISSUE-001 in session <sessio
|
|
|
166
166
|
$atk-trace-verify Verify the candidate for ISSUE-001 in session <session-id> and check relevant behavior that should still work.
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
-
Without specified issues, diagnosis reviews all available session traces and works through existing and newly found
|
|
169
|
+
Without specified issues, diagnosis reviews all available session traces and works through existing and newly found issues, prioritizing causes directly related to project code, configuration, tool contracts, Prompt or Skill. Findings established as unrelated to the existing implementation may be skipped with an explanation. Findings with uncertain relevance remain open for investigation. Specified issues or concrete symptoms limit the investigation scope. You can start directly with diagnosis without a separate detection invocation.
|
|
170
170
|
|
|
171
171
|
Diagnoses and verification conclusions are saved per issue. If the evidence cannot establish which candidate loaded or whether key verification conditions were met, the verification outcome is `inconclusive`. Investigation results identify unread ranges and evidence gaps. As new issues surface, work through them individually or start another analysis with a new session trace.
|
|
172
172
|
|
|
@@ -153,7 +153,7 @@ $atk-visualize-trace 打开 <session-id> 的执行泳道,从问题跳到相关
|
|
|
153
153
|
|
|
154
154
|
采集、分析、诊断、修复和验证 Skill 在阶段结束后默认生成或更新 `.atk/traces/<session_id>/preview.html`,不自动打开浏览器。需要打开时使用 `$atk-visualize-trace`;已打开的页面在文件更新后需刷新。初始化没有会话轨迹,不生成空页面。
|
|
155
155
|
|
|
156
|
-
这些阶段同时刷新项目大盘 `.atk/traces/index.html
|
|
156
|
+
这些阶段同时刷新项目大盘 `.atk/traces/index.html`,按会话或问题分类查看全部会话的问题和实际进度,并可跳回各会话页。需要打开时发送 `$atk-visualize-trace 打开轨迹大盘`。早于分类功能的问题显示为“未分类”,对应会话重新分析时补上。
|
|
157
157
|
|
|
158
158
|
可用 Trace ID 定位会话内的证据,在问题详情中查看保留理由。分享 HTML 前请核对其中留存的正文。
|
|
159
159
|
|
|
@@ -166,7 +166,7 @@ $atk-trace-optimize 实施 <session-id> 的 ISSUE-001 已选定的方案。
|
|
|
166
166
|
$atk-trace-verify 验证 <session-id> 的 ISSUE-001 对应候选,并检查相关正常行为。
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
未指定问题时,调查默认检查会话中可用的全部轨迹,逐项处理已记录和新发现的问题,优先定位与项目代码、配置、工具契约、Prompt 或 Skill 直接相关的原因。证据确认与现有实现无关的问题可以忽略,并说明理由。关联尚不明确的问题保留待查。指定问题或具体症状时,按指定范围调查。可以直接从调查开始,无需先单独执行检测。
|
|
170
170
|
|
|
171
171
|
诊断和验证结论分别按问题保存。证据不足以确认实际加载的候选或关键验证条件时,验证效果记为 `inconclusive`(无法判断)。调查结果会说明未检查的范围和证据缺口。后续发现新的问题,可继续按问题处理,或用新会话的轨迹开始下一次分析。
|
|
172
172
|
|
{agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/dataset/app.js
RENAMED
|
@@ -720,7 +720,7 @@
|
|
|
720
720
|
box.appendChild(el("p", { text: "导出后由 atk-dataset 导入生效;修改答案不会继承旧确认。" }));
|
|
721
721
|
var feedback = el("textarea", {
|
|
722
722
|
class: "review-note",
|
|
723
|
-
placeholder: "
|
|
723
|
+
placeholder: "仅问题项填写:用一句明确反馈描述预期结果或验收标准应如何调整…",
|
|
724
724
|
oninput: function (ev) {
|
|
725
725
|
setFeedback(row, ev.target.value);
|
|
726
726
|
renderMeta();
|
{agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/failures/app.js
RENAMED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
input: "输入",
|
|
18
18
|
expected: "期望",
|
|
19
19
|
actual: "实际输出",
|
|
20
|
-
reason: "
|
|
20
|
+
reason: "问题原因",
|
|
21
21
|
log: "日志",
|
|
22
22
|
};
|
|
23
23
|
|
|
@@ -488,7 +488,7 @@
|
|
|
488
488
|
var isAbnormal = ["true", "1", "yes", "y", "异常", "失败", "fail", "failed", "bad"].indexOf(value.toLowerCase()) >= 0;
|
|
489
489
|
if (isAbnormal) {
|
|
490
490
|
return el("div", { class: "cell-text" }, [
|
|
491
|
-
el("span", { class: "badge issue", text: "●
|
|
491
|
+
el("span", { class: "badge issue", text: "● 问题" })
|
|
492
492
|
]);
|
|
493
493
|
} else if (value.toLowerCase() === "false") {
|
|
494
494
|
return el("div", { class: "cell-text" }, [
|
|
@@ -567,7 +567,7 @@
|
|
|
567
567
|
function openInspector(row) {
|
|
568
568
|
state.selectedRowNumber = row.rowNumber;
|
|
569
569
|
setText("inspector-row-badge", "#" + row.rowNumber);
|
|
570
|
-
setText("inspector-title", "
|
|
570
|
+
setText("inspector-title", "问题数据详情");
|
|
571
571
|
setText("inspector-subtitle", "case " + rowId(row) + " · " + (roleField("reason") || "保留全部 failure_cases.csv 字段"));
|
|
572
572
|
renderInspectorBody(row);
|
|
573
573
|
if ($("inspector-overlay-pane")) $("inspector-overlay-pane").hidden = false;
|
|
@@ -717,8 +717,8 @@
|
|
|
717
717
|
|
|
718
718
|
var reasonText = reasonField ? normalizeText(row.values[reasonField]) : "";
|
|
719
719
|
var descBox = el("div", { class: "status-banner-desc-box" });
|
|
720
|
-
var label = el("strong", { class: "status-banner-desc-label" }, ["
|
|
721
|
-
var textVal = el("span", { class: "status-banner-desc-val", text: reasonText || "
|
|
720
|
+
var label = el("strong", { class: "status-banner-desc-label" }, ["问题原因描述:"]);
|
|
721
|
+
var textVal = el("span", { class: "status-banner-desc-val", text: reasonText || "尚未记录问题原因" });
|
|
722
722
|
descBox.appendChild(label);
|
|
723
723
|
descBox.appendChild(textVal);
|
|
724
724
|
content.appendChild(descBox);
|
|
@@ -873,14 +873,14 @@
|
|
|
873
873
|
},
|
|
874
874
|
}, [
|
|
875
875
|
el("option", { value: "", text: "未审阅" }),
|
|
876
|
-
el("option", { value: "confirmed_failure", text: "
|
|
877
|
-
el("option", { value: "false_positive", text: "
|
|
876
|
+
el("option", { value: "confirmed_failure", text: "确认问题" }),
|
|
877
|
+
el("option", { value: "false_positive", text: "误报/无问题" }),
|
|
878
878
|
el("option", { value: "needs_followup", text: "需继续分析" }),
|
|
879
879
|
]);
|
|
880
880
|
select.value = getStatus(row);
|
|
881
881
|
var note = el("textarea", {
|
|
882
882
|
class: "review-note",
|
|
883
|
-
placeholder: "
|
|
883
|
+
placeholder: "审阅备注(可选):记录问题原因、修复建议或复核结论…",
|
|
884
884
|
oninput: function (ev) {
|
|
885
885
|
setNote(row, ev.target.value);
|
|
886
886
|
renderMeta();
|
|
@@ -1248,7 +1248,7 @@
|
|
|
1248
1248
|
}
|
|
1249
1249
|
}, [
|
|
1250
1250
|
el("span", { html: '<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="vertical-align: middle;"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>' }),
|
|
1251
|
-
"
|
|
1251
|
+
"问题 (" + counts.abnormal + ")"
|
|
1252
1252
|
]);
|
|
1253
1253
|
|
|
1254
1254
|
container.appendChild(allBtn);
|
{agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/failures/page.html
RENAMED
|
@@ -63,7 +63,7 @@ __ATK_STYLES__
|
|
|
63
63
|
</div>
|
|
64
64
|
|
|
65
65
|
<div id="empty-state-all" class="empty-state" hidden>
|
|
66
|
-
<strong
|
|
66
|
+
<strong>当前版本没有问题样本</strong>
|
|
67
67
|
<span>No failure rows in current failure_cases.csv</span>
|
|
68
68
|
</div>
|
|
69
69
|
<div id="empty-state-filtered" class="empty-state" hidden>
|
|
@@ -132,7 +132,7 @@ __ATK_STYLES__
|
|
|
132
132
|
</svg>
|
|
133
133
|
</span>
|
|
134
134
|
<div>
|
|
135
|
-
<span class="stat-label"
|
|
135
|
+
<span class="stat-label">合并问题用例</span>
|
|
136
136
|
<strong id="stat-abnormal">0</strong>
|
|
137
137
|
<span id="stat-abnormal-rate" class="stat-subvalue">失败率 0%</span>
|
|
138
138
|
</div>
|
|
@@ -171,7 +171,7 @@ __ATK_STYLES__
|
|
|
171
171
|
<div class="inspector-title-wrap">
|
|
172
172
|
<span id="inspector-row-badge" class="row-badge">#</span>
|
|
173
173
|
<div>
|
|
174
|
-
<h2 id="inspector-title"
|
|
174
|
+
<h2 id="inspector-title">问题数据详情</h2>
|
|
175
175
|
<p id="inspector-subtitle"></p>
|
|
176
176
|
</div>
|
|
177
177
|
</div>
|
{agent_tune_kit-2.3.4 → agent_tune_kit-2.3.5}/agent_tune_kit/visualize/assets/shared/base.css
RENAMED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
--tint: #fff4e9;
|
|
12
12
|
--track: #537b8e;
|
|
13
13
|
--drawer-width: 480px;
|
|
14
|
+
--control-height: 34px;
|
|
14
15
|
--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
15
16
|
--p-pending: #b7c4ce;
|
|
16
17
|
--p-diagnosed: #d8892f;
|
|
@@ -37,7 +38,7 @@ h3 { font-size: 14px }
|
|
|
37
38
|
.topbar { background: white; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; flex-shrink: 0 }
|
|
38
39
|
.topbar-inner { max-width: none; margin: 0; padding-inline: clamp(12px, 2vw, 24px); min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px }
|
|
39
40
|
.brand-line, .topbar-meta { display: flex; align-items: center; gap: 10px }
|
|
40
|
-
.brand-line { min-width: 0 }
|
|
41
|
+
.brand-line { min-width: 0; max-width: 100% }
|
|
41
42
|
.brand { background: var(--brand); color: #fff; border-radius: 6px; padding: 2px 6px; font-weight: 850; letter-spacing: -.04em }
|
|
42
43
|
.brand-line strong { white-space: nowrap }
|
|
43
44
|
.session-id { border-left: 1px solid var(--line); padding-left: 12px; color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
|
|
@@ -62,15 +63,16 @@ h3 { font-size: 14px }
|
|
|
62
63
|
.progress-dot.excluded { background: transparent; box-shadow: inset 0 0 0 1.5px var(--p-pending) }
|
|
63
64
|
.category-tag { display: inline-block; max-width: 100%; background: #fff8f1; color: var(--accent); font-size: 11px; line-height: 1.5; padding: 2px 6px; border-radius: 4px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
|
|
64
65
|
a.category-tag:hover { background: #ffe8d2 }
|
|
65
|
-
select {
|
|
66
|
-
display: block; height:
|
|
66
|
+
input:not([type=checkbox]), select, .project-choice > summary {
|
|
67
|
+
display: block; height: var(--control-height); min-width: 0; max-width: 100%; padding: 0 11px;
|
|
67
68
|
font-size: 13px; line-height: normal; border-color: #cdd8e1;
|
|
68
69
|
}
|
|
69
|
-
select {
|
|
70
|
+
select, .project-choice > summary {
|
|
70
71
|
appearance: none; padding-right: 32px; text-overflow: ellipsis;
|
|
71
72
|
background: white url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") no-repeat right 11px center / 14px;
|
|
72
73
|
}
|
|
73
|
-
select:hover { border-color: #9baebb }
|
|
74
|
+
input:not([type=checkbox]):hover, select:hover, .project-choice > summary:hover { border-color: #9baebb }
|
|
75
|
+
input[type=checkbox] { width: 16px; height: 16px; margin: 0; padding: 0; flex-shrink: 0; accent-color: var(--brand) }
|
|
74
76
|
@media (forced-colors: active) {
|
|
75
77
|
select { appearance: auto; background-image: none; padding-right: 8px }
|
|
76
78
|
}
|
|
@@ -89,16 +91,16 @@ select:hover { border-color: #9baebb }
|
|
|
89
91
|
@media(max-width:800px) {
|
|
90
92
|
.topbar-inner { align-items: flex-start; flex-direction: column; gap: 4px; padding-top: 8px; padding-bottom: 8px }
|
|
91
93
|
h1 { font-size: 18px }
|
|
92
|
-
.drawer { inset: auto 0 0; width: 100% !important; height: 48vh; height: 48dvh; border-radius: 12px 12px 0 0; border-left: 0; border-top: 1px solid var(--line) }
|
|
94
|
+
.drawer { inset: auto 0 0; width: 100% !important; max-width: 100%; height: 48vh; height: 48dvh; border-radius: 12px 12px 0 0; border-left: 0; border-top: 1px solid var(--line) }
|
|
93
95
|
.drawer.above-record { inset: 0 0 auto; border-radius: 0 0 12px 12px; border-top: 0; border-bottom: 1px solid var(--line) }
|
|
94
96
|
.drawer-resizer { display: none }
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
/* Project attribution belongs to issues; the menu is shared by both issue views. */
|
|
98
|
-
.project-choice { position: relative; margin-bottom: 7px; font-size: 13px }
|
|
99
|
-
.project-choice summary { height:
|
|
100
|
-
.project-choice summary
|
|
101
|
-
.project-
|
|
100
|
+
.project-choice { position: relative; min-width: 0; max-width: 100%; margin-bottom: 7px; font-size: 13px }
|
|
101
|
+
.project-choice > summary { line-height: calc(var(--control-height) - 2px); list-style: none; white-space: nowrap; overflow: hidden; border: 1px solid #cdd8e1; border-radius: 6px }
|
|
102
|
+
.project-choice > summary::-webkit-details-marker { display: none }
|
|
103
|
+
.project-choice[open] > summary { border-color: #deb493; color: var(--accent) }
|
|
104
|
+
.project-menu { position: fixed; z-index: 20; width: min(300px, calc(100vw - 16px)); max-height: min(320px, calc(100dvh - 16px)); overflow: auto; overscroll-behavior: contain; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: white; box-shadow: 0 6px 20px #0002 }
|
|
102
105
|
.project-menu p { margin: 0 0 8px }
|
|
103
|
-
#project-filter label { display: flex; align-items: center; gap: 8px; padding: 6px 0 }
|
|
104
|
-
#project-filter input { width: 16px; height: 16px; min-width: 16px; padding: 0 }
|
|
106
|
+
#project-filter label { display: flex; align-items: center; gap: 8px; padding: 6px 0; overflow-wrap: anywhere }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
"use strict";
|
|
3
|
+
const choice = document.getElementById("project-choice");
|
|
4
|
+
const summary = document.getElementById("project-summary");
|
|
5
|
+
const position = () => {
|
|
6
|
+
if (!choice.open) return;
|
|
7
|
+
const menu = choice.querySelector(".project-menu");
|
|
8
|
+
const rect = summary.getBoundingClientRect();
|
|
9
|
+
const {clientWidth: width, clientHeight: height} = document.documentElement;
|
|
10
|
+
if (!rect.height || rect.bottom <= 0 || rect.top >= height) { choice.open = false; return; }
|
|
11
|
+
const below = Math.max(0, height - rect.bottom - 12), above = Math.max(0, rect.top - 12);
|
|
12
|
+
const upwards = below < Math.min(320, menu.scrollHeight) && above > below;
|
|
13
|
+
menu.style.maxHeight = `${Math.min(320, upwards ? above : below)}px`;
|
|
14
|
+
menu.style.left = `${Math.max(8, Math.min(rect.left, width - menu.offsetWidth - 8))}px`;
|
|
15
|
+
menu.style.top = `${upwards ? rect.top - menu.offsetHeight - 4 : rect.bottom + 4}px`;
|
|
16
|
+
};
|
|
17
|
+
choice.ontoggle = position;
|
|
18
|
+
window.addEventListener("resize", position);
|
|
19
|
+
document.addEventListener("scroll", event => {
|
|
20
|
+
if (!event.target.closest?.(".project-menu")) position();
|
|
21
|
+
}, true);
|
|
22
|
+
// Capture dismissal before page controls can stop propagation or handle Escape themselves.
|
|
23
|
+
document.addEventListener("click", event => {
|
|
24
|
+
if (!event.target.closest("#project-choice")) choice.open = false;
|
|
25
|
+
}, true);
|
|
26
|
+
document.addEventListener("keydown", event => {
|
|
27
|
+
if (event.key !== "Escape" || !choice.open) return;
|
|
28
|
+
event.preventDefault(); event.stopPropagation();
|
|
29
|
+
choice.open = false;
|
|
30
|
+
summary.focus();
|
|
31
|
+
}, true);
|
|
32
|
+
})();
|