benchflow 0.7.1.dev1969__tar.gz → 0.7.2__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.
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/CHANGELOG.md +119 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/PKG-INFO +15 -8
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/README.md +14 -7
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/pyproject.toml +1 -1
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_traj_upload_ui.py +29 -1
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/main.py +32 -2
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/traj.py +228 -16
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/redact.py +138 -23
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/traj_capture.py +24 -4
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/traj_report.py +14 -1
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/types.py +86 -18
- benchflow-0.7.2/src/benchflow/trajectories/viewer.py +872 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conftest.py +10 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_edge_case_hardening.py +60 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_report.py +83 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_upload_cli.py +358 -5
- benchflow-0.7.2/tests/test_viewer_confirm.py +279 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_redaction.py +142 -0
- benchflow-0.7.1.dev1969/src/benchflow/trajectories/viewer.py +0 -620
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/.gitignore +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/LICENSE +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_dotenv.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_paths.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_run.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_types.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/benchmark_repos.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/build_context_stage.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/config_override.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/content_address.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/dataset_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/env_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/evaluation_results.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/hf_datasets.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/json_safe.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/learner_memory.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/live_activity.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/result_metadata.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/reward_events.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/scoring.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/source_provenance.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/_evidence_paths.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/acceptance_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/scaffolding.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/structural_checks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/text.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/yaml_loader.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/client.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/container_transport.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/selection.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/session.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/transport.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/types.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_container.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_fake_mail.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_poste_users.tsv +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_services.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/harbor.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/inbound.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/inspect_ai.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/ors.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/resources/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/resources/mcp_atlas_bridge.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/resources/mcp_atlas_judge.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/source.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router_guide.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router_parity.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router_scaffold.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/codex_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/credentials.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/deepagents_acp_shim.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/errors.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/harvey_lab_acp_shim.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/install.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/openclaw_acp_shim.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/pi_acp_launcher.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/providers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/remote_manifests.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/branch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_failure_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_hosted_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_live_progress.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_options.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_shared.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/adopt.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/agent.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/continue_cmd.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/environment.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/eval_artifacts.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/eval_lift.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/hub.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/monitor.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/review.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/sandbox.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/skills.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/tasks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/trace_import.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/train.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/batch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/orchestrator.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/replay_proxy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/run_folder.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/sandbox_proxy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/contracts/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/contracts/planes.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/contracts/user.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/task.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/diagnostics.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/_registry/env0@outage.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/_registry/env0@prod.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/manifest_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/readiness.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_artifacts.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_lift.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_plan.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_sharding.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_worker.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/evaluation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/mcp/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/mcp/hooks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/mcp/reviewer_server.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/hosted_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/hub/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/hub/harbor_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/integrations/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/integrations/trl/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/integrations/trl/spec.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/learner_skills.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/learner_store.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/loop_strategies.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/loop_sweep.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/metrics.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/models.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/monitor.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_bedrock_patch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_bedrock_preflight.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_logging.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/_progress.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/azure_blob.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/broker.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/huggingface.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/py.typed +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/default-rubric.json +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/prompts.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/runner.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/wrapper.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/README.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/builtins.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/events.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/file_readers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/llm.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/memory_scorer.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/node.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/rubric.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/rubric_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/validation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_deadline.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_results.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_setup.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_skills.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_usage.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_user_loop.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/session_factory_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/task_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout_branch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout_planes.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_base.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_cache_reclaim.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-base.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-build.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-no-network.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-prebuilt.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_sdk_ops.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_builder.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_image.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_provisioning.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_reaper.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_sealed.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/apple_container.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_dind.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_pty.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_reaper.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_strategies.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/docker.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/lockdown.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/metadata.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/modal_impl.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/_base.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/agentcore.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/apple.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/daytona.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/docker.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/providers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/services.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/setup.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/snapshot.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/user.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/scenes.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sdk.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/self_gen.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/_core.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/gepa_export.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/schema.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_policy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skills.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_normalize.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_parse.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_profiles.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live_model.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live_report.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live_validation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/discovery.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/document.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/export.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/imports.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/output_format.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/package.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/paths.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/prompts.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/runtime_capabilities.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/runtime_view.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/task.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_core.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_document.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_errors.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_judge_inputs.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_ors_episode.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_reward_kit.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_scan.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_script_strategy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/templates/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/templates/judge.py.tmpl +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/templates/test.sh.tmpl +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/huggingface.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/local.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/models.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/parsers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/task_gen.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/backends/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/backends/prime_rl.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/run_manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/_capture.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/_export_common.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/_llm_capture.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/call_purpose.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_adp.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_atif.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_prime_sft.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_trl_sft.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/metrics.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/results.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/sessions.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/tree.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/trl_sft_tokenization.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/usage_tracking.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/acceptance_live_harness.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_dirscan.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_loader.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_parity.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_wiring.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_namespace_shorthand.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_plugin_entry_points.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_remote_manifest_autoload.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/README.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/environment/docker-compose.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/environment/skills/conformance-writer/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/task.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/conformance-results.json +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/proof_multi_agent.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/proof_snapshot.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/run_conformance.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/self_gen_smoke_skills/skill-creator/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/_helpers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_batch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_orchestrator.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_replay_proxy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_run_folder.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_chibench_manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_clawsbench_manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_manifest_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_readiness.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/task.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_claude.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_codex.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_codex_custom_provider.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_gemini.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_openclaw.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/traces/minimal-claude.jsonl +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/traces/minimal-opentraces.jsonl +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/README.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/data/empty.bin +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/data/unicode.txt +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/not-a-task/notes.txt +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_acp_agent.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_acp_agent_interleaved.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_acp_agent_multi_turn.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_openai_responses_server.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/data/michigan_stations.txt +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/skills/flood-detection/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/skills/nws-flood-thresholds/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/skills/usgs-data-download/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/tests/test_outputs.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/climate.csv +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/hydrology.csv +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/land_cover.csv +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/water_temperature.csv +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/contribution-analysis/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/meteorology-driver-classification/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/pca-decomposition/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/trend-analysis/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/tests/test_outputs.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/manifest.json +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/r2r_simulator.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/finite-horizon-lqr/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/integral-action-design/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/mpc-horizon-tuning/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/state-space-linearization/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/system_config.json +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/tests/test_outputs.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/generate_training_pcaps.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/local.rules +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/pcap-triage-tshark/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/pcap-triage-tshark/scripts/summarize_http_requests.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/suricata-offline-evejson/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/suricata-offline-evejson/scripts/run_suricata_offline.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/suricata-rules-basics/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/suricata.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/tests/test_outputs.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/Dockerfile +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/skills/syz-extract-constants/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/skills/syzkaller-build-loop/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/skills/syzlang-ioctl-basics/SKILL.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/instruction.md +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/solution/solve.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/task.toml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/tests/test.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/tests/test_outputs.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/_consistency.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/agent_judge.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_adapter_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_hosted_env_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_results.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_skillsbench_harbor_parity.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_trace_to_task_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/claude-agent-acp.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/codex-acp.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/gemini.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/harvey-lab-harness.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/mimo.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/openclaw.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/opencode.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/openhands.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/pi-acp.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/deepagents_harness.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/rubric_checks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/run.sh +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/run_suite.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/scenarios.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/suites/release.yaml +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acceptance_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acceptance_live.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acceptance_live_execution.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_capability_advertising.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_mcp_servers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_model_config_dispatch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_pinned_protocol_guard.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_setup_failure_propagation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_adapter_scripts.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_adapters.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_env_resolution.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_gemini_defaults.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_idle_timeout_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_model_decouple.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_router.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_router_cli_e2e.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_router_scaffold.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_setup.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_spec.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_builder.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_parallel.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_reaper.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_sandbox.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_transport.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_api_error_capture.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_apple_container_sandbox.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_bare_model_provider.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_base_install_imports.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_bedrock_thinking.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_benchflow_experiment_review_validator.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_benchmark_repos_resolve_repo_path.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_branch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_build_context_stage.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_build_review_pack.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_capture_trajectory.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_check_skillsbench_harbor_parity.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_clawsbench_slice.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_adopt_aliases.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_arg_validation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_daytona.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_docs_drift.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_hub_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_live_progress.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_misc.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_codex_review.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_codex_self_write_auth.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_config_override.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_config_redaction.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_connect_as_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_console_error_truncation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_console_progress.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_continuallearningbench_adapter.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_dataset_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_command_polling.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_dind_compose_up.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_download.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_litellm_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_poll_deadline.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_reap.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_deepagents_agent.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_diagnostics.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_docker_prune_scoping.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_docker_uploads.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_docs_examples.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eng50_capabilities.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_env_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_env_setup.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_environment_manifest_controls.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_artifact_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_filters_applied.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_lift.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_sharding.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_single_task_summary.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_source_provenance.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_worker_retry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_zero_task_guard.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_evaluation_environment_manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_exclude_tasks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_filter_credentialed_cells.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_harvey_lab_shim.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hilbench_adapter.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hosted_env.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hosted_env_rollout_contract.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hub_harbor_registry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_inbound_adapter_manifest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_inbound_adapters.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_agent_judge.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_check_results.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_consistency.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_matrix.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_provider_selection.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_run_suite.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_suite.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_internet_policy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_job.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_job_sequential_shared.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_job_sequential_shared_resume.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_judge_robustness.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_judge_symlink_ingestion.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_skills.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_skills_traversal.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_store.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_store_persistence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_hardening.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_logging.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_model_via_env_generic.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_reasoning_passthrough.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_smoke.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_live_llm_trajectory.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_llm_judge.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_llm_judge_event_tags.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_llm_judge_verifier.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_loop_strategies.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_loop_summary.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_loop_sweep.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_memory_scorer.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_metrics.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_mle_bench_adapter.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_mock_openai_responses_server.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_monitor_scaffold.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_native_acp_usage.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_no_cross_provider_fallback.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_notification_order_real.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_opencode_family_proxy_tracking.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_oracle.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_oracle_chokepoint.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_paths_safe.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_paths_symlink_helpers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_pi_acp_launcher.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_pi_acp_proxy_routing.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_process.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_project_skills_layout.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_provider_auth_detection.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_providers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_publish_azure_blob.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reexport.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_registry_invariants.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_release_hardening_r5.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_release_version.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_release_workflow_wiring.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_resolve_env_helpers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_review_boundaries.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_review_rubric.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_review_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_lenient.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_node.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_range.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_unified_contract.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rewards.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rewards_jsonl.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_architecture.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_branch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_config_path_coercion.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_environment.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_hard_deadline.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_import_no_side_effects.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_on_ask_user_wiring.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_planes_contract.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_probe_sandbox_health.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_session_factory_dispatch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_setup_commands.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_upload.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rubric_checks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rubric_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime_capabilities.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime_config_wired.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime_live_sandbox.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_exec_secret_handling.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_hardening.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_isolation_copy_traversal.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_live_process.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_multi_service.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_prebuilt_validation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_protocol.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_provider_registry_drift.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_setup.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_snapshot_contract.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_upload_symlink.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_verifier_workspace.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene_outbox_trial.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene_parallel_group.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene_result_aggregation.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scoring.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sdk_internals.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sdk_lockdown.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sdk_run_alias.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sealed_channel_container.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_export_error_channel.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_export_failures.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_orchestration.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_session_factory_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_session_request_permission_dispatch.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_dryrun.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_integration.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_sweep.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_traversal.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_invocation_artifacts.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_policy.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skills.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skills_dir_agent_home_link.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skillsbench_conversion_conformance.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skillsbench_harbor_run_suite.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_smoke.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_smoke_wiring.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_source_adapters.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_subscription_auth.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_check_eval_consistency.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_digest.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_document.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_download.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_export.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_output_format.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_package.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_runtime_primitive.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_tasks.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_token_usage_normalization.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trace_import_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trace_task_gen_traversal.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trace_to_task_evidence.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traces_huggingface.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traces_parsers.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traces_task_gen.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_train_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_train_mode_artifact_emission.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_train_trl_cli.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_staging_phases.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_upload_skill.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_integration.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_streaming.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_upload_layout.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_upload_service.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trial_agent_timeout_verify.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trial_install_agent_timeout.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trial_litellm_runtime.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trl_integration.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_usage_litellm.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_usage_required.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_usage_tracking.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_user.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_v06_guard_ports.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_document.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_multi_container.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_output.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_output_freshness.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_strategies.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_wedge_retry.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verify.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_workflow_action_pinning.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_yaml_config.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/__init__.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_adp.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_atif.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_common.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_nan_handling.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_prime_sft.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_step_granularity.py +0 -0
- {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_tree.py +0 -0
|
@@ -2,6 +2,125 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## 0.7.2 — 2026-08-16
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **The upload preview itemizes what redaction masked, by kind.** The
|
|
9
|
+
redactor now categorizes every replacement by the rule that fired — API
|
|
10
|
+
keys, bearer tokens, private key blocks, passwords, URL credentials, and
|
|
11
|
+
credential-bearing field values — and the terminal trajectory report shows
|
|
12
|
+
a `Masked for you: 2 API keys, 1 bearer token — originals never leave this
|
|
13
|
+
machine` breakdown under the masked-count row, plus a reassurance that
|
|
14
|
+
redaction ran locally and the server independently rescans staged
|
|
15
|
+
artifacts (or `No secrets or personal identifiers detected — nothing
|
|
16
|
+
needed masking.` when nothing matched). `bench traj upload --dry-run`
|
|
17
|
+
prints the same breakdown as a plain `Masked for you:` line, and
|
|
18
|
+
`bench eval view --confirm` gains a display-only `--redaction-summary`
|
|
19
|
+
flag that renders it in the confirm bar next to the Approve button; the
|
|
20
|
+
`benchflow-traj-upload` skill stages a dry run first and passes the line
|
|
21
|
+
through. The total `redaction_replacements` count and the manifest
|
|
22
|
+
`trajectory_report` contract are unchanged (the server validates the
|
|
23
|
+
report with a closed schema and exact recompute equality, so per-category
|
|
24
|
+
counts stay display-only).
|
|
25
|
+
- **The trajectory viewer can collect the eval-prize confirmation in the
|
|
26
|
+
browser.** `bench eval view PATH --confirm` renders the normal page plus a
|
|
27
|
+
sticky site-styled bottom bar ("Submit this trajectory to the BenchFlow
|
|
28
|
+
eval prize?") with **Approve & submit** / **Not this one** buttons. A click
|
|
29
|
+
POSTs to `/decision`; the server prints a machine-readable
|
|
30
|
+
`DECISION: approved` or `DECISION: rejected` line to stdout, shuts down,
|
|
31
|
+
and the CLI exits `0` on approve and `3` on reject (non-1/2 so rejection
|
|
32
|
+
never collides with error or usage exits). Without the flag, behavior is
|
|
33
|
+
unchanged (no bar, no endpoint, Ctrl+C to stop). The
|
|
34
|
+
`benchflow-traj-upload` skill now prefers the button flow and falls back
|
|
35
|
+
to chat confirmation on CLIs older than 0.7.2.
|
|
36
|
+
- **Trajectory uploads are tagged with the session's repository by
|
|
37
|
+
default.** Unless `--source-id` is given, `bench traj upload` reads the
|
|
38
|
+
session's recorded working directory (Claude `cwd` events, Codex
|
|
39
|
+
`session_meta`), resolves its git `origin` remote, and stores
|
|
40
|
+
`repo/<owner>/<name>` as the manifest source id, printing
|
|
41
|
+
`Repo: owner/name (from session cwd /path; use --no-repo to omit)` (the
|
|
42
|
+
local path is terminal output only, never uploaded). `--no-repo` opts out
|
|
43
|
+
— the `benchflow-traj-upload` skill now surfaces the detected tag during
|
|
44
|
+
the confirm step so contributors can decline it for private repos — and
|
|
45
|
+
undetectable repos fall back silently to the path-derived source id.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
- **The repo tag derives only from the session's own recorded cwd.** The
|
|
49
|
+
initial repo-tagging implementation (#1015) fell back to the upload
|
|
50
|
+
invocation directory's git remote when the session cwd yielded nothing; a
|
|
51
|
+
collector-side audit showed this mis-attributes provenance — a session
|
|
52
|
+
recorded in a non-repo directory, uploaded from the benchflow checkout,
|
|
53
|
+
was tagged `repo/benchflow-ai/benchflow` (two community-dataset entries
|
|
54
|
+
carry the mis-tag). The fallback is removed: no session cwd, a missing
|
|
55
|
+
directory, or no GitHub remote now mean no repo tag, exactly like
|
|
56
|
+
`--no-repo`.
|
|
57
|
+
- **The trajectory viewer header no longer shows `?` badges on real Claude
|
|
58
|
+
Code sessions.** `bench eval view` on a `~/.claude` session JSONL rendered
|
|
59
|
+
`model: ?`, `session: ?...`, `claude code: ?`, and `total cost: $0.0000`
|
|
60
|
+
because the header only read a `type: system` event that real session
|
|
61
|
+
files don't contain. The header now derives its metadata from what the
|
|
62
|
+
file actually carries (first assistant event's `message.model`, per-event
|
|
63
|
+
`version` / `sessionId`, the filename stem as a session fallback) and
|
|
64
|
+
hides any badge whose value is unknown — including the cost badge when no
|
|
65
|
+
event carries cost data. Presentation only.
|
|
66
|
+
- **Upload progress no longer claims the broker is waking up.** A warm
|
|
67
|
+
retry printed `Uploading… the first request can take a minute while the
|
|
68
|
+
service wakes up` even when the service was already up. The line is now
|
|
69
|
+
`Uploading… this can take up to a minute; retries are safe.`
|
|
70
|
+
- **`bench traj setup --list` no longer wraps session paths mid-token.**
|
|
71
|
+
Each hit prints index/source/time, then the path on its own line, then
|
|
72
|
+
the snippet, via plain `print` so Rich does not split a long JSONL path
|
|
73
|
+
and break copy-paste.
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
- **Trajectory viewer tool calls are color-coded and backgrounds are light.**
|
|
77
|
+
Each tool kind now gets a muted GitHub-label-style accent on its name pill
|
|
78
|
+
and a left border strip on the card: shell/exec → amber, write/edit → blue,
|
|
79
|
+
read → teal, agent/task/skill → purple, web/search/fetch → cyan, everything
|
|
80
|
+
else → neutral gray. Tool arguments and tool outputs render on light
|
|
81
|
+
surfaces (`#f5f5f5` / white with dark ink) instead of near-black blocks;
|
|
82
|
+
the dark `#141414` terminal treatment is reserved for shell-command output
|
|
83
|
+
only, and the ink-black result card stays as the deliberate bento-ink
|
|
84
|
+
accent. Presentation only (CSS classes + a tool-name→accent mapping);
|
|
85
|
+
content strings and behavior are unchanged. Applies to all three viewer
|
|
86
|
+
templates, which share one stylesheet since #1019.
|
|
87
|
+
- **The contributor prompt now tells the agent to upgrade BenchFlow first.**
|
|
88
|
+
`CONTRIBUTOR_PROMPT` (kept in sync in `README.md`, `docs/traj-upload.md`,
|
|
89
|
+
and the `benchflow-traj-upload` skill evals) is a three-line block that
|
|
90
|
+
says to run `uv tool install --python 3.12 --upgrade --force benchflow`
|
|
91
|
+
before reading the skill, so agents that skim the skill or hit a stale copy
|
|
92
|
+
still install the latest CLI. The prompt also names OpenCode and Cursor
|
|
93
|
+
sessions and the re:Agent hackathon 72-hour window; README/docs render it
|
|
94
|
+
as a blockquote (soft-wraps on GitHub) behind an explicit "send this to
|
|
95
|
+
your coding agent" framing, and `bench traj setup` prints the same framing.
|
|
96
|
+
The skill's Discover step gains best-effort Cursor
|
|
97
|
+
(`~/.cursor/projects/*/agent-transcripts/`) and OpenCode
|
|
98
|
+
(`~/.local/share/opencode/opencode.db`, `opencode db path`) locations plus
|
|
99
|
+
a prefer-recent-matching-sessions note. Follow-up to the version
|
|
100
|
+
precondition from #1013/#1014.
|
|
101
|
+
- **Trajectory viewer restyled to match www.benchflow.ai.** All three
|
|
102
|
+
`bench eval view` pages (stream-json/JSONL, ACP events, multi-turn trial)
|
|
103
|
+
now share one inline stylesheet with the site's design language: light
|
|
104
|
+
monochrome palette (`#fafafa` page, white cards, `#0a0a0a` ink, dark
|
|
105
|
+
`#141414` code blocks), Satoshi/Google Sans Code font stacks with
|
|
106
|
+
system-safe fallbacks, mono pill badges, and a small BenchFlow wordmark
|
|
107
|
+
header with the inline SVG logo. Pages remain fully offline (no external
|
|
108
|
+
font or CDN requests) and content/structure semantics are unchanged;
|
|
109
|
+
follows the contributor paste-line flow from #1013.
|
|
110
|
+
|
|
111
|
+
## 0.7.1 — 2026-08-16
|
|
112
|
+
|
|
113
|
+
### Added
|
|
114
|
+
- **`bench traj setup` / `bench traj upload` print an upgrade hint when
|
|
115
|
+
outdated.** Both commands start with a lightweight PyPI latest-version
|
|
116
|
+
check (2 s timeout, completely silent on any network or parse failure) and
|
|
117
|
+
print a one-line `uv tool install --python 3.12 --upgrade --force
|
|
118
|
+
benchflow` hint when the installed version is older than the latest
|
|
119
|
+
release; dev/prereleases of a newer-or-equal base are not outdated.
|
|
120
|
+
`BENCHFLOW_SKIP_UPDATE_CHECK=1` disables the check. The
|
|
121
|
+
`benchflow-traj-upload` skill and docs now tell contributors to upgrade to
|
|
122
|
+
the latest BenchFlow (0.7.1+) before using the trajectory-upload flow.
|
|
123
|
+
|
|
5
124
|
### Changed
|
|
6
125
|
- **Trajectory contribution is a copy-paste line, plus optional setup.**
|
|
7
126
|
Contributors paste one line into their agent; the agent reads
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: benchflow
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: Multi-turn agent benchmarking with ACP — run any agent, any model, any provider.
|
|
5
5
|
Project-URL: Homepage, https://github.com/benchflow-ai/benchflow
|
|
6
6
|
Project-URL: Repository, https://github.com/benchflow-ai/benchflow
|
|
@@ -89,17 +89,24 @@ BenchFlow is a universal environment framework: it runs AI agents against task e
|
|
|
89
89
|
|
|
90
90
|
## Quick start: 1. Submit a trajectory
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
BenchFlow account, API key, or
|
|
92
|
+
**Send these to your coding agent.** Copy
|
|
93
|
+
the block below and paste it as a message to Claude Code, Codex, OpenCode, or
|
|
94
|
+
Cursor. That is the $2,000 eval prize path. No BenchFlow account, API key, or
|
|
95
|
+
Azure login.
|
|
95
96
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
> Submit my relevant local Claude Code, Codex, OpenCode, or Cursor session from the re:Agent e2e agentic science / ai4bio hackathon (last 72 hours, on this laptop) to the BenchFlow eval prize.
|
|
98
|
+
>
|
|
99
|
+
> 1. First make sure the latest benchflow CLI is installed: uv tool install --python 3.12 --upgrade --force benchflow
|
|
100
|
+
>
|
|
101
|
+
> 2. Then read https://raw.githubusercontent.com/benchflow-ai/benchflow/main/.agents/skills/benchflow-traj-upload/SKILL.md and follow it: find a session, open the viewer, and upload only after I (the human) review it.
|
|
99
102
|
|
|
100
103
|
The agent finds sessions on this machine, opens the viewer, and uploads after
|
|
101
104
|
you like what you see.
|
|
102
105
|
|
|
106
|
+
The prompt has the agent install the latest BenchFlow first (`uv tool
|
|
107
|
+
install --python 3.12 --upgrade --force benchflow`). The `bench traj` commands
|
|
108
|
+
also print a one-line upgrade hint when a newer release is available.
|
|
109
|
+
|
|
103
110
|
Prefer the terminal instead? The guided upload inspects before anything leaves
|
|
104
111
|
your machine — it renders a redacted trajectory report (step counts, masked
|
|
105
112
|
secrets, preview) and asks for confirmation:
|
|
@@ -124,7 +131,7 @@ bench traj setup
|
|
|
124
131
|
```
|
|
125
132
|
|
|
126
133
|
`npx skills add` asks which agents to install for. `bench traj setup` copies
|
|
127
|
-
the skill into this project and prints the same
|
|
134
|
+
the skill into this project and prints the same agent prompt. See the
|
|
128
135
|
[upload skill](./.agents/skills/benchflow-traj-upload/SKILL.md).
|
|
129
136
|
|
|
130
137
|
## Quick start: 2. Run with a ChatGPT or Claude subscription
|
|
@@ -15,17 +15,24 @@ BenchFlow is a universal environment framework: it runs AI agents against task e
|
|
|
15
15
|
|
|
16
16
|
## Quick start: 1. Submit a trajectory
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
BenchFlow account, API key, or
|
|
18
|
+
**Send these to your coding agent.** Copy
|
|
19
|
+
the block below and paste it as a message to Claude Code, Codex, OpenCode, or
|
|
20
|
+
Cursor. That is the $2,000 eval prize path. No BenchFlow account, API key, or
|
|
21
|
+
Azure login.
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
> Submit my relevant local Claude Code, Codex, OpenCode, or Cursor session from the re:Agent e2e agentic science / ai4bio hackathon (last 72 hours, on this laptop) to the BenchFlow eval prize.
|
|
24
|
+
>
|
|
25
|
+
> 1. First make sure the latest benchflow CLI is installed: uv tool install --python 3.12 --upgrade --force benchflow
|
|
26
|
+
>
|
|
27
|
+
> 2. Then read https://raw.githubusercontent.com/benchflow-ai/benchflow/main/.agents/skills/benchflow-traj-upload/SKILL.md and follow it: find a session, open the viewer, and upload only after I (the human) review it.
|
|
25
28
|
|
|
26
29
|
The agent finds sessions on this machine, opens the viewer, and uploads after
|
|
27
30
|
you like what you see.
|
|
28
31
|
|
|
32
|
+
The prompt has the agent install the latest BenchFlow first (`uv tool
|
|
33
|
+
install --python 3.12 --upgrade --force benchflow`). The `bench traj` commands
|
|
34
|
+
also print a one-line upgrade hint when a newer release is available.
|
|
35
|
+
|
|
29
36
|
Prefer the terminal instead? The guided upload inspects before anything leaves
|
|
30
37
|
your machine — it renders a redacted trajectory report (step counts, masked
|
|
31
38
|
secrets, preview) and asks for confirmation:
|
|
@@ -50,7 +57,7 @@ bench traj setup
|
|
|
50
57
|
```
|
|
51
58
|
|
|
52
59
|
`npx skills add` asks which agents to install for. `bench traj setup` copies
|
|
53
|
-
the skill into this project and prints the same
|
|
60
|
+
the skill into this project and prints the same agent prompt. See the
|
|
54
61
|
[upload skill](./.agents/skills/benchflow-traj-upload/SKILL.md).
|
|
55
62
|
|
|
56
63
|
## Quick start: 2. Run with a ChatGPT or Claude subscription
|
|
@@ -20,10 +20,29 @@ from rich.progress import (
|
|
|
20
20
|
from rich.table import Table
|
|
21
21
|
from rich.text import Text
|
|
22
22
|
|
|
23
|
-
from benchflow.publish.redact import REDACTED
|
|
23
|
+
from benchflow.publish.redact import REDACTED, format_redaction_breakdown
|
|
24
24
|
from benchflow.publish.traj_capture import StagedFile
|
|
25
25
|
from benchflow.publish.traj_report import PREVIEW_WORD_LIMIT, TrajectoryReport
|
|
26
26
|
|
|
27
|
+
# Redaction-transparency copy shown with the masked-value count. The wording is
|
|
28
|
+
# deliberately honest: redaction is a local structural pass (no agents, no
|
|
29
|
+
# token spend), and the server independently rescans staged artifacts.
|
|
30
|
+
NO_MASKING_NEEDED_COPY = (
|
|
31
|
+
"No secrets or personal identifiers detected — nothing needed masking."
|
|
32
|
+
)
|
|
33
|
+
REDACTION_REASSURANCE_COPY = (
|
|
34
|
+
"Redaction ran locally before anything was staged; "
|
|
35
|
+
"the server independently rescans and rejects any survivor."
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def masked_for_you_line(report: TrajectoryReport) -> str:
|
|
40
|
+
"""Itemized ``Masked for you`` copy for a report with masked values."""
|
|
41
|
+
breakdown = format_redaction_breakdown(dict(report.masked_categories))
|
|
42
|
+
if not breakdown: # category data unavailable — fall back to the total
|
|
43
|
+
breakdown = f"{report.masked_values} secret-like values"
|
|
44
|
+
return f"{breakdown} — originals never leave this machine"
|
|
45
|
+
|
|
27
46
|
|
|
28
47
|
def render_trajectory_report(report: TrajectoryReport, *, console: Console) -> None:
|
|
29
48
|
"""Render upload facts and a bounded, already-redacted trajectory preview."""
|
|
@@ -43,8 +62,17 @@ def render_trajectory_report(report: TrajectoryReport, *, console: Console) -> N
|
|
|
43
62
|
"API keys / secrets masked",
|
|
44
63
|
Text(str(report.masked_values), style="bold green"),
|
|
45
64
|
)
|
|
65
|
+
if report.masked_values:
|
|
66
|
+
facts.add_row(
|
|
67
|
+
"Masked for you",
|
|
68
|
+
Text(masked_for_you_line(report), style="green"),
|
|
69
|
+
)
|
|
70
|
+
else:
|
|
71
|
+
facts.add_row("Masked for you", Text(NO_MASKING_NEEDED_COPY, style="dim"))
|
|
46
72
|
facts.add_row("Safe replacement", Text(REDACTED))
|
|
47
73
|
console.print(Panel(facts, title="Trajectory report", border_style="cyan"))
|
|
74
|
+
if report.masked_values:
|
|
75
|
+
console.print(f"[dim]{REDACTION_REASSURANCE_COPY}[/dim]")
|
|
48
76
|
|
|
49
77
|
if not report.preview:
|
|
50
78
|
return
|
|
@@ -1228,11 +1228,41 @@ def eval_view(
|
|
|
1228
1228
|
),
|
|
1229
1229
|
],
|
|
1230
1230
|
port: Annotated[int, typer.Option(help="Server port")] = 8888,
|
|
1231
|
+
confirm: Annotated[
|
|
1232
|
+
bool,
|
|
1233
|
+
typer.Option(
|
|
1234
|
+
"--confirm",
|
|
1235
|
+
help=(
|
|
1236
|
+
"Show an Approve & submit / Not this one bar on the page; "
|
|
1237
|
+
"print DECISION: approved|rejected and exit 0 on approve, "
|
|
1238
|
+
"3 on reject."
|
|
1239
|
+
),
|
|
1240
|
+
),
|
|
1241
|
+
] = False,
|
|
1242
|
+
redaction_summary: Annotated[
|
|
1243
|
+
str | None,
|
|
1244
|
+
typer.Option(
|
|
1245
|
+
"--redaction-summary",
|
|
1246
|
+
help=(
|
|
1247
|
+
"Masked-secret breakdown shown in the --confirm bar, e.g. "
|
|
1248
|
+
"'2 API keys, 1 bearer token' (lift it from "
|
|
1249
|
+
"`bench traj upload PATH --dry-run`). Display-only; no effect "
|
|
1250
|
+
"without --confirm."
|
|
1251
|
+
),
|
|
1252
|
+
),
|
|
1253
|
+
] = None,
|
|
1231
1254
|
) -> None:
|
|
1232
1255
|
"""View a trial or session trajectory in the browser."""
|
|
1233
|
-
from benchflow.trajectories
|
|
1256
|
+
from benchflow.trajectories import viewer
|
|
1234
1257
|
|
|
1235
|
-
serve(
|
|
1258
|
+
decision = viewer.serve(
|
|
1259
|
+
str(rollout_dir), port, confirm=confirm, redaction_summary=redaction_summary
|
|
1260
|
+
)
|
|
1261
|
+
# Exit-code contract for --confirm: 0 approved, 3 rejected. 3 is chosen
|
|
1262
|
+
# so a rejection never collides with the CLI's existing error exits
|
|
1263
|
+
# (1 = errors, 2 = Typer usage errors).
|
|
1264
|
+
if decision == "rejected":
|
|
1265
|
+
raise typer.Exit(3)
|
|
1236
1266
|
|
|
1237
1267
|
|
|
1238
1268
|
# ── Command-group wiring ──────────────────────────────────────────────
|