bernstein 2.3.0__tar.gz → 2.4.0__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.
- bernstein-2.4.0/.clusterfuzzlite/Dockerfile +17 -0
- bernstein-2.4.0/CHANGELOG.md +454 -0
- bernstein-2.4.0/Dockerfile +50 -0
- bernstein-2.4.0/PKG-INFO +793 -0
- bernstein-2.4.0/docker/demo/Dockerfile +57 -0
- bernstein-2.4.0/pyproject.toml +768 -0
- bernstein-2.4.0/src/bernstein/adapters/base.py +891 -0
- bernstein-2.4.0/src/bernstein/adapters/ci/gitlab_ci.py +147 -0
- bernstein-2.4.0/src/bernstein/adapters/claude.py +751 -0
- bernstein-2.4.0/src/bernstein/adapters/conformance.py +603 -0
- bernstein-2.4.0/src/bernstein/adapters/junie.py +278 -0
- bernstein-2.4.0/src/bernstein/bridges/cloudflare_workflow.py +417 -0
- bernstein-2.4.0/src/bernstein/bridges/openclaw_gateway.py +489 -0
- bernstein-2.4.0/src/bernstein/cli/__init__.py +181 -0
- bernstein-2.4.0/src/bernstein/cli/commands/abandonments_cmd.py +155 -0
- bernstein-2.4.0/src/bernstein/cli/commands/advanced_cmd.py +1777 -0
- bernstein-2.4.0/src/bernstein/cli/commands/agents_cmd.py +603 -0
- bernstein-2.4.0/src/bernstein/cli/commands/approval_cmd.py +159 -0
- bernstein-2.4.0/src/bernstein/cli/commands/audit_cmd.py +1696 -0
- bernstein-2.4.0/src/bernstein/cli/commands/autofix_cmd.py +860 -0
- bernstein-2.4.0/src/bernstein/cli/commands/blast_radius_cmd.py +164 -0
- bernstein-2.4.0/src/bernstein/cli/commands/bundle_cmd.py +150 -0
- bernstein-2.4.0/src/bernstein/cli/commands/cache_cmd.py +261 -0
- bernstein-2.4.0/src/bernstein/cli/commands/changelog_cmd.py +448 -0
- bernstein-2.4.0/src/bernstein/cli/commands/chat_cmd.py +628 -0
- bernstein-2.4.0/src/bernstein/cli/commands/ci_cmd.py +170 -0
- bernstein-2.4.0/src/bernstein/cli/commands/cloud_cmd.py +278 -0
- bernstein-2.4.0/src/bernstein/cli/commands/compare_cmd.py +265 -0
- bernstein-2.4.0/src/bernstein/cli/commands/compliance_cmd.py +541 -0
- bernstein-2.4.0/src/bernstein/cli/commands/cost.py +1030 -0
- bernstein-2.4.0/src/bernstein/cli/commands/creds_cmd.py +300 -0
- bernstein-2.4.0/src/bernstein/cli/commands/diff_cmd.py +618 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/__init__.py +103 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/_render.py +173 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/backends.py +564 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/code_scanning.py +47 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/dt.py +47 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/glitchtip.py +412 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor/observe.py +168 -0
- bernstein-2.4.0/src/bernstein/cli/commands/doctor_sonar_cmd.py +219 -0
- bernstein-2.4.0/src/bernstein/cli/commands/eval_benchmark_cmd.py +1413 -0
- bernstein-2.4.0/src/bernstein/cli/commands/evolve_cmd.py +426 -0
- bernstein-2.4.0/src/bernstein/cli/commands/explain_cmd.py +263 -0
- bernstein-2.4.0/src/bernstein/cli/commands/fleet_cmd.py +402 -0
- bernstein-2.4.0/src/bernstein/cli/commands/git_cmd.py +268 -0
- bernstein-2.4.0/src/bernstein/cli/commands/handoff_cmd.py +171 -0
- bernstein-2.4.0/src/bernstein/cli/commands/issue_to_pr_cmd.py +52 -0
- bernstein-2.4.0/src/bernstein/cli/commands/lineage_cmd.py +786 -0
- bernstein-2.4.0/src/bernstein/cli/commands/lineage_export_cmd.py +291 -0
- bernstein-2.4.0/src/bernstein/cli/commands/lineage_tracker_audit_cmd.py +200 -0
- bernstein-2.4.0/src/bernstein/cli/commands/manifest_cmd.py +199 -0
- bernstein-2.4.0/src/bernstein/cli/commands/mcp_catalog_cmd.py +404 -0
- bernstein-2.4.0/src/bernstein/cli/commands/memory_cmd.py +213 -0
- bernstein-2.4.0/src/bernstein/cli/commands/plan_archive_cmd.py +97 -0
- bernstein-2.4.0/src/bernstein/cli/commands/plan_dag_cmd.py +84 -0
- bernstein-2.4.0/src/bernstein/cli/commands/prompts_cmd.py +327 -0
- bernstein-2.4.0/src/bernstein/cli/commands/quickstart_cmd.py +376 -0
- bernstein-2.4.0/src/bernstein/cli/commands/recipes_cmd.py +405 -0
- bernstein-2.4.0/src/bernstein/cli/commands/report_cmd.py +39 -0
- bernstein-2.4.0/src/bernstein/cli/commands/review_responder_cmd.py +187 -0
- bernstein-2.4.0/src/bernstein/cli/commands/role_adapter_policy_cmd.py +147 -0
- bernstein-2.4.0/src/bernstein/cli/commands/routine_cmd.py +234 -0
- bernstein-2.4.0/src/bernstein/cli/commands/skills_cmd.py +214 -0
- bernstein-2.4.0/src/bernstein/cli/commands/spec_cmd.py +152 -0
- bernstein-2.4.0/src/bernstein/cli/commands/status_cmd.py +969 -0
- bernstein-2.4.0/src/bernstein/cli/commands/stop_cmd.py +775 -0
- bernstein-2.4.0/src/bernstein/cli/commands/token_cmd.py +183 -0
- bernstein-2.4.0/src/bernstein/cli/commands/triggers_cmd.py +200 -0
- bernstein-2.4.0/src/bernstein/cli/commands/tunnel_cmd.py +140 -0
- bernstein-2.4.0/src/bernstein/cli/commands/workflow_cmd.py +512 -0
- bernstein-2.4.0/src/bernstein/cli/display/image_renderer.py +391 -0
- bernstein-2.4.0/src/bernstein/cli/display/summary_card.py +187 -0
- bernstein-2.4.0/src/bernstein/cli/display/terminal_caps.py +229 -0
- bernstein-2.4.0/src/bernstein/cli/doctor/environment_checks.py +183 -0
- bernstein-2.4.0/src/bernstein/cli/live.py +322 -0
- bernstein-2.4.0/src/bernstein/cli/main.py +1139 -0
- bernstein-2.4.0/src/bernstein/cli/plan/plan_diff.py +270 -0
- bernstein-2.4.0/src/bernstein/cli/plan/plan_display.py +630 -0
- bernstein-2.4.0/src/bernstein/cli/run_bootstrap.py +1688 -0
- bernstein-2.4.0/src/bernstein/cli/run_confirm.py +755 -0
- bernstein-2.4.0/src/bernstein/cli/status.py +623 -0
- bernstein-2.4.0/src/bernstein/cli/usage_provisioning.py +363 -0
- bernstein-2.4.0/src/bernstein/compliance/eu_ai_act.py +1239 -0
- bernstein-2.4.0/src/bernstein/core/agents/agent_discovery.py +993 -0
- bernstein-2.4.0/src/bernstein/core/agents/agent_recycling.py +431 -0
- bernstein-2.4.0/src/bernstein/core/agents/agent_turn_state.py +300 -0
- bernstein-2.4.0/src/bernstein/core/agents/heartbeat_escalation.py +372 -0
- bernstein-2.4.0/src/bernstein/core/agents/spawn_dry_run.py +338 -0
- bernstein-2.4.0/src/bernstein/core/agents/spawn_prompt.py +1558 -0
- bernstein-2.4.0/src/bernstein/core/agents/spawner_core.py +3019 -0
- bernstein-2.4.0/src/bernstein/core/approval/__init__.py +72 -0
- bernstein-2.4.0/src/bernstein/core/approval/models.py +192 -0
- bernstein-2.4.0/src/bernstein/core/approval/queue.py +531 -0
- bernstein-2.4.0/src/bernstein/core/autofix/classifier.py +172 -0
- bernstein-2.4.0/src/bernstein/core/autofix/gh_logs.py +169 -0
- bernstein-2.4.0/src/bernstein/core/communication/bulletin.py +1053 -0
- bernstein-2.4.0/src/bernstein/core/compliance/ai_bom_encoders/cyclonedx.py +163 -0
- bernstein-2.4.0/src/bernstein/core/compliance/ai_bom_encoders/spdx.py +157 -0
- bernstein-2.4.0/src/bernstein/core/config/poll_config.py +250 -0
- bernstein-2.4.0/src/bernstein/core/cost/claude_cost_tracking.py +255 -0
- bernstein-2.4.0/src/bernstein/core/cost/cost.py +1161 -0
- bernstein-2.4.0/src/bernstein/core/cost/cost_estimation.py +216 -0
- bernstein-2.4.0/src/bernstein/core/cost/d1_analytics.py +488 -0
- bernstein-2.4.0/src/bernstein/core/cost/preflight.py +319 -0
- bernstein-2.4.0/src/bernstein/core/cost/ticket_cap.py +447 -0
- bernstein-2.4.0/src/bernstein/core/credential_scoping.py +869 -0
- bernstein-2.4.0/src/bernstein/core/devops/trend_scan.py +513 -0
- bernstein-2.4.0/src/bernstein/core/errors/categorization.py +200 -0
- bernstein-2.4.0/src/bernstein/core/fleet/audit.py +235 -0
- bernstein-2.4.0/src/bernstein/core/fleet/directory_registry.py +280 -0
- bernstein-2.4.0/src/bernstein/core/git/github.py +1096 -0
- bernstein-2.4.0/src/bernstein/core/git/pr_size_governor.py +653 -0
- bernstein-2.4.0/src/bernstein/core/git/snapshot.py +734 -0
- bernstein-2.4.0/src/bernstein/core/git/worktree.py +1106 -0
- bernstein-2.4.0/src/bernstein/core/handoff/tokens.py +397 -0
- bernstein-2.4.0/src/bernstein/core/integrations/tickets/linear.py +148 -0
- bernstein-2.4.0/src/bernstein/core/knowledge/agents_md_generator.py +993 -0
- bernstein-2.4.0/src/bernstein/core/knowledge/ast_symbol_graph.py +737 -0
- bernstein-2.4.0/src/bernstein/core/knowledge/file_discovery.py +237 -0
- bernstein-2.4.0/src/bernstein/core/knowledge/knowledge_base.py +672 -0
- bernstein-2.4.0/src/bernstein/core/knowledge/rag.py +679 -0
- bernstein-2.4.0/src/bernstein/core/lineage/audit.py +146 -0
- bernstein-2.4.0/src/bernstein/core/lineage/tips.py +98 -0
- bernstein-2.4.0/src/bernstein/core/lineage/v2_store.py +733 -0
- bernstein-2.4.0/src/bernstein/core/memory/session_memory.py +687 -0
- bernstein-2.4.0/src/bernstein/core/observability/circuit_breaker.py +519 -0
- bernstein-2.4.0/src/bernstein/core/observability/glitchtip_insights.py +339 -0
- bernstein-2.4.0/src/bernstein/core/observability/lineage_alert.py +189 -0
- bernstein-2.4.0/src/bernstein/core/observability/metric_collector.py +1358 -0
- bernstein-2.4.0/src/bernstein/core/observability/otlp_exporter.py +379 -0
- bernstein-2.4.0/src/bernstein/core/observability/runbooks.py +256 -0
- bernstein-2.4.0/src/bernstein/core/observability/slo.py +486 -0
- bernstein-2.4.0/src/bernstein/core/observability/sonar.py +429 -0
- bernstein-2.4.0/src/bernstein/core/observability/ticket_bundle.py +701 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/adaptive_parallelism.py +300 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/adaptive_tick.py +196 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/approval_gate.py +490 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/compare_runner.py +462 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/manager.py +844 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/manager_prompts.py +245 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/multi_cell.py +448 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/multi_criteria_rank.py +435 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/operator.py +617 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/orchestrator.py +4937 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/orchestrator_summary.py +191 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/phase_gates.py +561 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/phase_schemas.py +413 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/run_actor.py +505 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/run_actor_registry.py +97 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/run_changelog.py +610 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/run_session.py +335 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/task_dag.py +264 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/tick_pipeline.py +853 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/tracker_pipeline.py +1276 -0
- bernstein-2.4.0/src/bernstein/core/orchestration/workload_prediction.py +217 -0
- bernstein-2.4.0/src/bernstein/core/persistence/action_cache.py +405 -0
- bernstein-2.4.0/src/bernstein/core/persistence/file_health.py +596 -0
- bernstein-2.4.0/src/bernstein/core/persistence/lineage.py +678 -0
- bernstein-2.4.0/src/bernstein/core/persistence/store_postgres.py +816 -0
- bernstein-2.4.0/src/bernstein/core/persistence/team_state.py +294 -0
- bernstein-2.4.0/src/bernstein/core/planning/spec_assertions.py +484 -0
- bernstein-2.4.0/src/bernstein/core/planning/spec_quality.py +558 -0
- bernstein-2.4.0/src/bernstein/core/planning/workflow.py +517 -0
- bernstein-2.4.0/src/bernstein/core/planning/workflow_dsl.py +1036 -0
- bernstein-2.4.0/src/bernstein/core/protocols/backstage_plugin.py +484 -0
- bernstein-2.4.0/src/bernstein/core/protocols/cluster/cluster.py +604 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp/mcp_client.py +557 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp/mcp_manager.py +1148 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp/mcp_protocol_test.py +292 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp/mcp_registry.py +401 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp/mcp_task_filter.py +228 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp/mcp_transport.py +412 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp_catalog/service.py +493 -0
- bernstein-2.4.0/src/bernstein/core/protocols/mcp_catalog/user_config.py +318 -0
- bernstein-2.4.0/src/bernstein/core/protocols/stream_signals.py +284 -0
- bernstein-2.4.0/src/bernstein/core/quality/ab_test_results.py +389 -0
- bernstein-2.4.0/src/bernstein/core/quality/comment_quality.py +550 -0
- bernstein-2.4.0/src/bernstein/core/quality/coverage_gate.py +335 -0
- bernstein-2.4.0/src/bernstein/core/quality/empirical_confidence.py +373 -0
- bernstein-2.4.0/src/bernstein/core/quality/gate_runner.py +1745 -0
- bernstein-2.4.0/src/bernstein/core/quality/janitor.py +826 -0
- bernstein-2.4.0/src/bernstein/core/quality/output_fingerprint.py +400 -0
- bernstein-2.4.0/src/bernstein/core/quality/pr_review_aggregator.py +766 -0
- bernstein-2.4.0/src/bernstein/core/quality/retrospective.py +566 -0
- bernstein-2.4.0/src/bernstein/core/quality/review_pipeline/__init__.py +100 -0
- bernstein-2.4.0/src/bernstein/core/quality/review_pipeline/review_gate.py +493 -0
- bernstein-2.4.0/src/bernstein/core/quality/verification_nudge.py +304 -0
- bernstein-2.4.0/src/bernstein/core/review_responder/bundling.py +147 -0
- bernstein-2.4.0/src/bernstein/core/review_responder/models.py +185 -0
- bernstein-2.4.0/src/bernstein/core/routes/acp.py +234 -0
- bernstein-2.4.0/src/bernstein/core/routes/approvals.py +386 -0
- bernstein-2.4.0/src/bernstein/core/routes/auth.py +514 -0
- bernstein-2.4.0/src/bernstein/core/routes/costs.py +1473 -0
- bernstein-2.4.0/src/bernstein/core/routes/export.py +152 -0
- bernstein-2.4.0/src/bernstein/core/routes/file_health.py +162 -0
- bernstein-2.4.0/src/bernstein/core/routes/graduation.py +249 -0
- bernstein-2.4.0/src/bernstein/core/routes/graphql_api.py +234 -0
- bernstein-2.4.0/src/bernstein/core/routes/identities.py +120 -0
- bernstein-2.4.0/src/bernstein/core/routes/observability.py +918 -0
- bernstein-2.4.0/src/bernstein/core/routes/plans.py +164 -0
- bernstein-2.4.0/src/bernstein/core/routes/provider_latency.py +79 -0
- bernstein-2.4.0/src/bernstein/core/routes/quality.py +640 -0
- bernstein-2.4.0/src/bernstein/core/routes/sandbox.py +444 -0
- bernstein-2.4.0/src/bernstein/core/routes/slo.py +103 -0
- bernstein-2.4.0/src/bernstein/core/routes/status_dashboard.py +1175 -0
- bernstein-2.4.0/src/bernstein/core/routes/status_lifecycle.py +265 -0
- bernstein-2.4.0/src/bernstein/core/routes/task_a2a.py +269 -0
- bernstein-2.4.0/src/bernstein/core/routes/task_cluster.py +241 -0
- bernstein-2.4.0/src/bernstein/core/routes/task_crud.py +1669 -0
- bernstein-2.4.0/src/bernstein/core/routes/task_detail.py +514 -0
- bernstein-2.4.0/src/bernstein/core/routes/task_trace.py +261 -0
- bernstein-2.4.0/src/bernstein/core/routes/team.py +67 -0
- bernstein-2.4.0/src/bernstein/core/routes/webhooks.py +669 -0
- bernstein-2.4.0/src/bernstein/core/routing/bandit_router.py +1781 -0
- bernstein-2.4.0/src/bernstein/core/routing/cascade_router.py +867 -0
- bernstein-2.4.0/src/bernstein/core/routing/hijacker.py +580 -0
- bernstein-2.4.0/src/bernstein/core/routing/model_recommender.py +244 -0
- bernstein-2.4.0/src/bernstein/core/routing/router_core.py +1444 -0
- bernstein-2.4.0/src/bernstein/core/routing/router_policies.py +421 -0
- bernstein-2.4.0/src/bernstein/core/sandbox/backends/docker.py +464 -0
- bernstein-2.4.0/src/bernstein/core/sandbox/playwright_runner.py +843 -0
- bernstein-2.4.0/src/bernstein/core/sandbox/ssh_backend.py +665 -0
- bernstein-2.4.0/src/bernstein/core/security/agent_card_keystore.py +324 -0
- bernstein-2.4.0/src/bernstein/core/security/agent_card_signer.py +301 -0
- bernstein-2.4.0/src/bernstein/core/security/audit_export.py +720 -0
- bernstein-2.4.0/src/bernstein/core/security/audit_multitenant.py +901 -0
- bernstein-2.4.0/src/bernstein/core/security/auth.py +1362 -0
- bernstein-2.4.0/src/bernstein/core/security/auto_approve.py +737 -0
- bernstein-2.4.0/src/bernstein/core/security/capability_matrix.py +394 -0
- bernstein-2.4.0/src/bernstein/core/security/claude_permission_profiles.py +236 -0
- bernstein-2.4.0/src/bernstein/core/security/claude_tool_result_injection.py +244 -0
- bernstein-2.4.0/src/bernstein/core/security/compliance_library.py +1165 -0
- bernstein-2.4.0/src/bernstein/core/security/data_residency.py +292 -0
- bernstein-2.4.0/src/bernstein/core/security/denial_tracker.py +219 -0
- bernstein-2.4.0/src/bernstein/core/security/differential_privacy.py +160 -0
- bernstein-2.4.0/src/bernstein/core/security/dp_telemetry.py +305 -0
- bernstein-2.4.0/src/bernstein/core/security/dual_approval.py +204 -0
- bernstein-2.4.0/src/bernstein/core/security/eu_ai_act.py +269 -0
- bernstein-2.4.0/src/bernstein/core/security/external_policy_hook.py +406 -0
- bernstein-2.4.0/src/bernstein/core/security/graduated_access.py +383 -0
- bernstein-2.4.0/src/bernstein/core/security/guardrail_pipeline.py +247 -0
- bernstein-2.4.0/src/bernstein/core/security/guardrails.py +1025 -0
- bernstein-2.4.0/src/bernstein/core/security/hipaa.py +703 -0
- bernstein-2.4.0/src/bernstein/core/security/jwt_tokens.py +346 -0
- bernstein-2.4.0/src/bernstein/core/security/key_rotation_support.py +335 -0
- bernstein-2.4.0/src/bernstein/core/security/network_isolation.py +273 -0
- bernstein-2.4.0/src/bernstein/core/security/permission_graph.py +343 -0
- bernstein-2.4.0/src/bernstein/core/security/permission_matrix.py +226 -0
- bernstein-2.4.0/src/bernstein/core/security/permission_policy.py +591 -0
- bernstein-2.4.0/src/bernstein/core/security/permissions.py +383 -0
- bernstein-2.4.0/src/bernstein/core/security/policy_engine.py +592 -0
- bernstein-2.4.0/src/bernstein/core/security/policy_templates.py +116 -0
- bernstein-2.4.0/src/bernstein/core/security/promptware_detector.py +465 -0
- bernstein-2.4.0/src/bernstein/core/security/resource_limits.py +292 -0
- bernstein-2.4.0/src/bernstein/core/security/rfc3161_verifier.py +635 -0
- bernstein-2.4.0/src/bernstein/core/security/role_adapter_policy.py +243 -0
- bernstein-2.4.0/src/bernstein/core/security/rule_enforcer.py +572 -0
- bernstein-2.4.0/src/bernstein/core/security/sandbox.py +260 -0
- bernstein-2.4.0/src/bernstein/core/security/sandbox_escape_detector.py +349 -0
- bernstein-2.4.0/src/bernstein/core/security/seccomp_profiles.py +546 -0
- bernstein-2.4.0/src/bernstein/core/security/secrets.py +515 -0
- bernstein-2.4.0/src/bernstein/core/security/secrets_broker.py +831 -0
- bernstein-2.4.0/src/bernstein/core/security/sigstore_attestation.py +487 -0
- bernstein-2.4.0/src/bernstein/core/security/soc2_report.py +479 -0
- bernstein-2.4.0/src/bernstein/core/security/state_encryption.py +527 -0
- bernstein-2.4.0/src/bernstein/core/security/tenant_isolation.py +247 -0
- bernstein-2.4.0/src/bernstein/core/security/tenanting.py +175 -0
- bernstein-2.4.0/src/bernstein/core/security/vault/backend_file.py +294 -0
- bernstein-2.4.0/src/bernstein/core/security/vault_injector.py +490 -0
- bernstein-2.4.0/src/bernstein/core/security/vuln_disclosure.py +494 -0
- bernstein-2.4.0/src/bernstein/core/server/api_compat_checker.py +532 -0
- bernstein-2.4.0/src/bernstein/core/server/json_logging.py +122 -0
- bernstein-2.4.0/src/bernstein/core/skills/layered.py +578 -0
- bernstein-2.4.0/src/bernstein/core/streaming_merge.py +419 -0
- bernstein-2.4.0/src/bernstein/core/tasks/abort_chain.py +545 -0
- bernstein-2.4.0/src/bernstein/core/tasks/backlog_parser.py +338 -0
- bernstein-2.4.0/src/bernstein/core/tasks/lifecycle_diagrams.py +310 -0
- bernstein-2.4.0/src/bernstein/core/tasks/models.py +1624 -0
- bernstein-2.4.0/src/bernstein/core/tasks/swarm_migration.py +368 -0
- bernstein-2.4.0/src/bernstein/core/tasks/task_lifecycle.py +3165 -0
- bernstein-2.4.0/src/bernstein/core/telemetry/config.py +172 -0
- bernstein-2.4.0/src/bernstein/core/tokens/auto_distillation.py +954 -0
- bernstein-2.4.0/src/bernstein/core/tokens/context_compression.py +733 -0
- bernstein-2.4.0/src/bernstein/core/tokens/context_fallback.py +333 -0
- bernstein-2.4.0/src/bernstein/core/tokens/context_recommendations.py +328 -0
- bernstein-2.4.0/src/bernstein/core/tokens/prompt_caching.py +1166 -0
- bernstein-2.4.0/src/bernstein/core/tokens/prompt_versioning.py +575 -0
- bernstein-2.4.0/src/bernstein/core/tokens/token_binding.py +223 -0
- bernstein-2.4.0/src/bernstein/core/trackers/__init__.py +85 -0
- bernstein-2.4.0/src/bernstein/core/trackers/builtin/asana_adapter.py +492 -0
- bernstein-2.4.0/src/bernstein/core/trackers/builtin/clickup_adapter.py +462 -0
- bernstein-2.4.0/src/bernstein/core/trackers/builtin/github_projects_adapter.py +657 -0
- bernstein-2.4.0/src/bernstein/core/trackers/builtin/jira_dc_adapter.py +485 -0
- bernstein-2.4.0/src/bernstein/core/trackers/builtin/plane_adapter.py +554 -0
- bernstein-2.4.0/src/bernstein/core/trackers/linear.py +559 -0
- bernstein-2.4.0/src/bernstein/core/trackers/servicenow.py +447 -0
- bernstein-2.4.0/src/bernstein/core/trigger_sources/github.py +116 -0
- bernstein-2.4.0/src/bernstein/core/worktrees/classifier.py +468 -0
- bernstein-2.4.0/src/bernstein/eval/scenario_generator.py +991 -0
- bernstein-2.4.0/src/bernstein/eval/vcr_fixture.py +418 -0
- bernstein-2.4.0/src/bernstein/evolution/__init__.py +468 -0
- bernstein-2.4.0/src/bernstein/evolution/gate.py +980 -0
- bernstein-2.4.0/src/bernstein/github_app/app.py +248 -0
- bernstein-2.4.0/src/bernstein/github_app/webhooks.py +109 -0
- bernstein-2.4.0/src/bernstein/gui/cli.py +348 -0
- bernstein-2.4.0/src/bernstein/gui/qr.py +141 -0
- bernstein-2.4.0/src/bernstein/mcp/routine_tools.py +339 -0
- bernstein-2.4.0/src/bernstein/testing/chaos_framework.py +259 -0
- bernstein-2.4.0/src/bernstein/tui/agent_duration.py +42 -0
- bernstein-2.4.0/src/bernstein/tui/app.py +1167 -0
- bernstein-2.4.0/src/bernstein/tui/approval_panel.py +658 -0
- bernstein-2.4.0/src/bernstein/tui/away_summary.py +245 -0
- bernstein-2.4.0/src/bernstein/tui/color_mode.py +82 -0
- bernstein-2.4.0/src/bernstein/tui/diff_render.py +131 -0
- bernstein-2.4.0/src/bernstein/tui/session_recorder.py +282 -0
- bernstein-2.4.0/src/bernstein/tui/snapshot_testing.py +197 -0
- bernstein-2.4.0/src/bernstein/tui/task_detail_overlay.py +333 -0
- bernstein-2.4.0/uv.lock +4907 -0
- bernstein-2.3.0/.clusterfuzzlite/Dockerfile +0 -17
- bernstein-2.3.0/CHANGELOG.md +0 -379
- bernstein-2.3.0/Dockerfile +0 -50
- bernstein-2.3.0/PKG-INFO +0 -793
- bernstein-2.3.0/docker/demo/Dockerfile +0 -57
- bernstein-2.3.0/pyproject.toml +0 -761
- bernstein-2.3.0/src/bernstein/adapters/base.py +0 -860
- bernstein-2.3.0/src/bernstein/adapters/ci/gitlab_ci.py +0 -150
- bernstein-2.3.0/src/bernstein/adapters/claude.py +0 -750
- bernstein-2.3.0/src/bernstein/adapters/conformance.py +0 -566
- bernstein-2.3.0/src/bernstein/adapters/junie.py +0 -279
- bernstein-2.3.0/src/bernstein/bridges/cloudflare_workflow.py +0 -420
- bernstein-2.3.0/src/bernstein/bridges/openclaw_gateway.py +0 -493
- bernstein-2.3.0/src/bernstein/cli/__init__.py +0 -180
- bernstein-2.3.0/src/bernstein/cli/commands/abandonments_cmd.py +0 -157
- bernstein-2.3.0/src/bernstein/cli/commands/advanced_cmd.py +0 -1633
- bernstein-2.3.0/src/bernstein/cli/commands/agents_cmd.py +0 -605
- bernstein-2.3.0/src/bernstein/cli/commands/approval_cmd.py +0 -156
- bernstein-2.3.0/src/bernstein/cli/commands/audit_cmd.py +0 -1700
- bernstein-2.3.0/src/bernstein/cli/commands/autofix_cmd.py +0 -862
- bernstein-2.3.0/src/bernstein/cli/commands/blast_radius_cmd.py +0 -165
- bernstein-2.3.0/src/bernstein/cli/commands/bundle_cmd.py +0 -139
- bernstein-2.3.0/src/bernstein/cli/commands/cache_cmd.py +0 -264
- bernstein-2.3.0/src/bernstein/cli/commands/changelog_cmd.py +0 -448
- bernstein-2.3.0/src/bernstein/cli/commands/chat_cmd.py +0 -629
- bernstein-2.3.0/src/bernstein/cli/commands/ci_cmd.py +0 -171
- bernstein-2.3.0/src/bernstein/cli/commands/cloud_cmd.py +0 -279
- bernstein-2.3.0/src/bernstein/cli/commands/compare_cmd.py +0 -266
- bernstein-2.3.0/src/bernstein/cli/commands/compliance_cmd.py +0 -543
- bernstein-2.3.0/src/bernstein/cli/commands/cost.py +0 -1030
- bernstein-2.3.0/src/bernstein/cli/commands/creds_cmd.py +0 -301
- bernstein-2.3.0/src/bernstein/cli/commands/diff_cmd.py +0 -618
- bernstein-2.3.0/src/bernstein/cli/commands/eval_benchmark_cmd.py +0 -1416
- bernstein-2.3.0/src/bernstein/cli/commands/evolve_cmd.py +0 -428
- bernstein-2.3.0/src/bernstein/cli/commands/explain_cmd.py +0 -264
- bernstein-2.3.0/src/bernstein/cli/commands/fleet_cmd.py +0 -402
- bernstein-2.3.0/src/bernstein/cli/commands/git_cmd.py +0 -263
- bernstein-2.3.0/src/bernstein/cli/commands/handoff_cmd.py +0 -173
- bernstein-2.3.0/src/bernstein/cli/commands/issue_to_pr_cmd.py +0 -51
- bernstein-2.3.0/src/bernstein/cli/commands/lineage_cmd.py +0 -789
- bernstein-2.3.0/src/bernstein/cli/commands/lineage_export_cmd.py +0 -292
- bernstein-2.3.0/src/bernstein/cli/commands/lineage_tracker_audit_cmd.py +0 -203
- bernstein-2.3.0/src/bernstein/cli/commands/manifest_cmd.py +0 -199
- bernstein-2.3.0/src/bernstein/cli/commands/mcp_catalog_cmd.py +0 -406
- bernstein-2.3.0/src/bernstein/cli/commands/memory_cmd.py +0 -214
- bernstein-2.3.0/src/bernstein/cli/commands/plan_archive_cmd.py +0 -98
- bernstein-2.3.0/src/bernstein/cli/commands/prompts_cmd.py +0 -329
- bernstein-2.3.0/src/bernstein/cli/commands/quickstart_cmd.py +0 -376
- bernstein-2.3.0/src/bernstein/cli/commands/recipes_cmd.py +0 -406
- bernstein-2.3.0/src/bernstein/cli/commands/report_cmd.py +0 -39
- bernstein-2.3.0/src/bernstein/cli/commands/review_responder_cmd.py +0 -186
- bernstein-2.3.0/src/bernstein/cli/commands/role_adapter_policy_cmd.py +0 -148
- bernstein-2.3.0/src/bernstein/cli/commands/routine_cmd.py +0 -235
- bernstein-2.3.0/src/bernstein/cli/commands/skills_cmd.py +0 -109
- bernstein-2.3.0/src/bernstein/cli/commands/status_cmd.py +0 -969
- bernstein-2.3.0/src/bernstein/cli/commands/stop_cmd.py +0 -777
- bernstein-2.3.0/src/bernstein/cli/commands/token_cmd.py +0 -184
- bernstein-2.3.0/src/bernstein/cli/commands/triggers_cmd.py +0 -202
- bernstein-2.3.0/src/bernstein/cli/commands/tunnel_cmd.py +0 -141
- bernstein-2.3.0/src/bernstein/cli/commands/workflow_cmd.py +0 -513
- bernstein-2.3.0/src/bernstein/cli/display/image_renderer.py +0 -394
- bernstein-2.3.0/src/bernstein/cli/display/summary_card.py +0 -187
- bernstein-2.3.0/src/bernstein/cli/display/terminal_caps.py +0 -237
- bernstein-2.3.0/src/bernstein/cli/doctor/environment_checks.py +0 -186
- bernstein-2.3.0/src/bernstein/cli/live.py +0 -324
- bernstein-2.3.0/src/bernstein/cli/main.py +0 -1110
- bernstein-2.3.0/src/bernstein/cli/plan/plan_diff.py +0 -271
- bernstein-2.3.0/src/bernstein/cli/plan/plan_display.py +0 -633
- bernstein-2.3.0/src/bernstein/cli/run_bootstrap.py +0 -1689
- bernstein-2.3.0/src/bernstein/cli/run_confirm.py +0 -757
- bernstein-2.3.0/src/bernstein/cli/status.py +0 -623
- bernstein-2.3.0/src/bernstein/cli/usage_provisioning.py +0 -364
- bernstein-2.3.0/src/bernstein/compliance/eu_ai_act.py +0 -1241
- bernstein-2.3.0/src/bernstein/core/agents/agent_discovery.py +0 -994
- bernstein-2.3.0/src/bernstein/core/agents/agent_recycling.py +0 -432
- bernstein-2.3.0/src/bernstein/core/agents/agent_turn_state.py +0 -303
- bernstein-2.3.0/src/bernstein/core/agents/heartbeat_escalation.py +0 -372
- bernstein-2.3.0/src/bernstein/core/agents/spawn_dry_run.py +0 -335
- bernstein-2.3.0/src/bernstein/core/agents/spawn_prompt.py +0 -1561
- bernstein-2.3.0/src/bernstein/core/agents/spawner_core.py +0 -3021
- bernstein-2.3.0/src/bernstein/core/approval/__init__.py +0 -68
- bernstein-2.3.0/src/bernstein/core/approval/models.py +0 -126
- bernstein-2.3.0/src/bernstein/core/approval/queue.py +0 -481
- bernstein-2.3.0/src/bernstein/core/autofix/classifier.py +0 -175
- bernstein-2.3.0/src/bernstein/core/autofix/gh_logs.py +0 -169
- bernstein-2.3.0/src/bernstein/core/communication/bulletin.py +0 -1052
- bernstein-2.3.0/src/bernstein/core/compliance/ai_bom_encoders/cyclonedx.py +0 -165
- bernstein-2.3.0/src/bernstein/core/compliance/ai_bom_encoders/spdx.py +0 -159
- bernstein-2.3.0/src/bernstein/core/config/poll_config.py +0 -250
- bernstein-2.3.0/src/bernstein/core/cost/claude_cost_tracking.py +0 -255
- bernstein-2.3.0/src/bernstein/core/cost/cost.py +0 -1162
- bernstein-2.3.0/src/bernstein/core/cost/cost_estimation.py +0 -217
- bernstein-2.3.0/src/bernstein/core/cost/d1_analytics.py +0 -489
- bernstein-2.3.0/src/bernstein/core/cost/preflight.py +0 -319
- bernstein-2.3.0/src/bernstein/core/cost/ticket_cap.py +0 -447
- bernstein-2.3.0/src/bernstein/core/credential_scoping.py +0 -869
- bernstein-2.3.0/src/bernstein/core/devops/trend_scan.py +0 -505
- bernstein-2.3.0/src/bernstein/core/errors/categorization.py +0 -200
- bernstein-2.3.0/src/bernstein/core/fleet/audit.py +0 -236
- bernstein-2.3.0/src/bernstein/core/fleet/directory_registry.py +0 -280
- bernstein-2.3.0/src/bernstein/core/git/github.py +0 -1096
- bernstein-2.3.0/src/bernstein/core/git/pr_size_governor.py +0 -655
- bernstein-2.3.0/src/bernstein/core/git/snapshot.py +0 -725
- bernstein-2.3.0/src/bernstein/core/git/worktree.py +0 -1107
- bernstein-2.3.0/src/bernstein/core/handoff/tokens.py +0 -399
- bernstein-2.3.0/src/bernstein/core/integrations/tickets/linear.py +0 -148
- bernstein-2.3.0/src/bernstein/core/knowledge/agents_md_generator.py +0 -997
- bernstein-2.3.0/src/bernstein/core/knowledge/ast_symbol_graph.py +0 -739
- bernstein-2.3.0/src/bernstein/core/knowledge/file_discovery.py +0 -236
- bernstein-2.3.0/src/bernstein/core/knowledge/knowledge_base.py +0 -676
- bernstein-2.3.0/src/bernstein/core/knowledge/rag.py +0 -682
- bernstein-2.3.0/src/bernstein/core/lineage/audit.py +0 -146
- bernstein-2.3.0/src/bernstein/core/lineage/tips.py +0 -100
- bernstein-2.3.0/src/bernstein/core/lineage/v2_store.py +0 -734
- bernstein-2.3.0/src/bernstein/core/memory/session_memory.py +0 -687
- bernstein-2.3.0/src/bernstein/core/observability/circuit_breaker.py +0 -520
- bernstein-2.3.0/src/bernstein/core/observability/lineage_alert.py +0 -179
- bernstein-2.3.0/src/bernstein/core/observability/metric_collector.py +0 -1359
- bernstein-2.3.0/src/bernstein/core/observability/otlp_exporter.py +0 -379
- bernstein-2.3.0/src/bernstein/core/observability/runbooks.py +0 -257
- bernstein-2.3.0/src/bernstein/core/observability/slo.py +0 -487
- bernstein-2.3.0/src/bernstein/core/observability/ticket_bundle.py +0 -702
- bernstein-2.3.0/src/bernstein/core/orchestration/adaptive_parallelism.py +0 -254
- bernstein-2.3.0/src/bernstein/core/orchestration/adaptive_tick.py +0 -196
- bernstein-2.3.0/src/bernstein/core/orchestration/approval_gate.py +0 -409
- bernstein-2.3.0/src/bernstein/core/orchestration/compare_runner.py +0 -462
- bernstein-2.3.0/src/bernstein/core/orchestration/manager.py +0 -846
- bernstein-2.3.0/src/bernstein/core/orchestration/manager_prompts.py +0 -245
- bernstein-2.3.0/src/bernstein/core/orchestration/multi_cell.py +0 -449
- bernstein-2.3.0/src/bernstein/core/orchestration/multi_criteria_rank.py +0 -440
- bernstein-2.3.0/src/bernstein/core/orchestration/operator.py +0 -618
- bernstein-2.3.0/src/bernstein/core/orchestration/orchestrator.py +0 -4938
- bernstein-2.3.0/src/bernstein/core/orchestration/orchestrator_summary.py +0 -193
- bernstein-2.3.0/src/bernstein/core/orchestration/phase_gates.py +0 -562
- bernstein-2.3.0/src/bernstein/core/orchestration/phase_schemas.py +0 -414
- bernstein-2.3.0/src/bernstein/core/orchestration/run_changelog.py +0 -610
- bernstein-2.3.0/src/bernstein/core/orchestration/run_session.py +0 -336
- bernstein-2.3.0/src/bernstein/core/orchestration/tick_pipeline.py +0 -856
- bernstein-2.3.0/src/bernstein/core/orchestration/tracker_pipeline.py +0 -1276
- bernstein-2.3.0/src/bernstein/core/orchestration/workload_prediction.py +0 -218
- bernstein-2.3.0/src/bernstein/core/persistence/action_cache.py +0 -406
- bernstein-2.3.0/src/bernstein/core/persistence/file_health.py +0 -597
- bernstein-2.3.0/src/bernstein/core/persistence/lineage.py +0 -680
- bernstein-2.3.0/src/bernstein/core/persistence/store_postgres.py +0 -817
- bernstein-2.3.0/src/bernstein/core/persistence/team_state.py +0 -295
- bernstein-2.3.0/src/bernstein/core/planning/spec_assertions.py +0 -488
- bernstein-2.3.0/src/bernstein/core/planning/workflow.py +0 -518
- bernstein-2.3.0/src/bernstein/core/planning/workflow_dsl.py +0 -1035
- bernstein-2.3.0/src/bernstein/core/protocols/backstage_plugin.py +0 -486
- bernstein-2.3.0/src/bernstein/core/protocols/cluster/cluster.py +0 -605
- bernstein-2.3.0/src/bernstein/core/protocols/mcp/mcp_client.py +0 -559
- bernstein-2.3.0/src/bernstein/core/protocols/mcp/mcp_manager.py +0 -1148
- bernstein-2.3.0/src/bernstein/core/protocols/mcp/mcp_protocol_test.py +0 -295
- bernstein-2.3.0/src/bernstein/core/protocols/mcp/mcp_registry.py +0 -401
- bernstein-2.3.0/src/bernstein/core/protocols/mcp/mcp_task_filter.py +0 -228
- bernstein-2.3.0/src/bernstein/core/protocols/mcp/mcp_transport.py +0 -403
- bernstein-2.3.0/src/bernstein/core/protocols/mcp_catalog/service.py +0 -496
- bernstein-2.3.0/src/bernstein/core/protocols/mcp_catalog/user_config.py +0 -319
- bernstein-2.3.0/src/bernstein/core/quality/ab_test_results.py +0 -390
- bernstein-2.3.0/src/bernstein/core/quality/comment_quality.py +0 -551
- bernstein-2.3.0/src/bernstein/core/quality/coverage_gate.py +0 -337
- bernstein-2.3.0/src/bernstein/core/quality/gate_runner.py +0 -1746
- bernstein-2.3.0/src/bernstein/core/quality/janitor.py +0 -827
- bernstein-2.3.0/src/bernstein/core/quality/output_fingerprint.py +0 -403
- bernstein-2.3.0/src/bernstein/core/quality/pr_review_aggregator.py +0 -769
- bernstein-2.3.0/src/bernstein/core/quality/retrospective.py +0 -566
- bernstein-2.3.0/src/bernstein/core/quality/review_pipeline/__init__.py +0 -80
- bernstein-2.3.0/src/bernstein/core/quality/verification_nudge.py +0 -305
- bernstein-2.3.0/src/bernstein/core/review_responder/bundling.py +0 -148
- bernstein-2.3.0/src/bernstein/core/review_responder/models.py +0 -189
- bernstein-2.3.0/src/bernstein/core/routes/acp.py +0 -237
- bernstein-2.3.0/src/bernstein/core/routes/approvals.py +0 -347
- bernstein-2.3.0/src/bernstein/core/routes/auth.py +0 -520
- bernstein-2.3.0/src/bernstein/core/routes/costs.py +0 -1475
- bernstein-2.3.0/src/bernstein/core/routes/export.py +0 -153
- bernstein-2.3.0/src/bernstein/core/routes/file_health.py +0 -165
- bernstein-2.3.0/src/bernstein/core/routes/graduation.py +0 -254
- bernstein-2.3.0/src/bernstein/core/routes/graphql_api.py +0 -235
- bernstein-2.3.0/src/bernstein/core/routes/identities.py +0 -122
- bernstein-2.3.0/src/bernstein/core/routes/observability.py +0 -919
- bernstein-2.3.0/src/bernstein/core/routes/plans.py +0 -165
- bernstein-2.3.0/src/bernstein/core/routes/provider_latency.py +0 -81
- bernstein-2.3.0/src/bernstein/core/routes/quality.py +0 -639
- bernstein-2.3.0/src/bernstein/core/routes/sandbox.py +0 -448
- bernstein-2.3.0/src/bernstein/core/routes/slo.py +0 -104
- bernstein-2.3.0/src/bernstein/core/routes/status_dashboard.py +0 -1176
- bernstein-2.3.0/src/bernstein/core/routes/status_lifecycle.py +0 -268
- bernstein-2.3.0/src/bernstein/core/routes/task_a2a.py +0 -270
- bernstein-2.3.0/src/bernstein/core/routes/task_cluster.py +0 -246
- bernstein-2.3.0/src/bernstein/core/routes/task_crud.py +0 -1681
- bernstein-2.3.0/src/bernstein/core/routes/task_detail.py +0 -517
- bernstein-2.3.0/src/bernstein/core/routes/task_trace.py +0 -262
- bernstein-2.3.0/src/bernstein/core/routes/team.py +0 -69
- bernstein-2.3.0/src/bernstein/core/routes/webhooks.py +0 -670
- bernstein-2.3.0/src/bernstein/core/routing/bandit_router.py +0 -1781
- bernstein-2.3.0/src/bernstein/core/routing/cascade_router.py +0 -868
- bernstein-2.3.0/src/bernstein/core/routing/hijacker.py +0 -579
- bernstein-2.3.0/src/bernstein/core/routing/model_recommender.py +0 -218
- bernstein-2.3.0/src/bernstein/core/routing/router_core.py +0 -1446
- bernstein-2.3.0/src/bernstein/core/routing/router_policies.py +0 -421
- bernstein-2.3.0/src/bernstein/core/sandbox/backends/docker.py +0 -464
- bernstein-2.3.0/src/bernstein/core/sandbox/playwright_runner.py +0 -839
- bernstein-2.3.0/src/bernstein/core/sandbox/ssh_backend.py +0 -666
- bernstein-2.3.0/src/bernstein/core/security/agent_card_keystore.py +0 -324
- bernstein-2.3.0/src/bernstein/core/security/agent_card_signer.py +0 -302
- bernstein-2.3.0/src/bernstein/core/security/audit_export.py +0 -722
- bernstein-2.3.0/src/bernstein/core/security/audit_multitenant.py +0 -901
- bernstein-2.3.0/src/bernstein/core/security/auth.py +0 -1362
- bernstein-2.3.0/src/bernstein/core/security/auto_approve.py +0 -741
- bernstein-2.3.0/src/bernstein/core/security/capability_matrix.py +0 -393
- bernstein-2.3.0/src/bernstein/core/security/claude_permission_profiles.py +0 -237
- bernstein-2.3.0/src/bernstein/core/security/claude_tool_result_injection.py +0 -244
- bernstein-2.3.0/src/bernstein/core/security/compliance_library.py +0 -1166
- bernstein-2.3.0/src/bernstein/core/security/data_residency.py +0 -292
- bernstein-2.3.0/src/bernstein/core/security/denial_tracker.py +0 -219
- bernstein-2.3.0/src/bernstein/core/security/differential_privacy.py +0 -161
- bernstein-2.3.0/src/bernstein/core/security/dp_telemetry.py +0 -306
- bernstein-2.3.0/src/bernstein/core/security/dual_approval.py +0 -204
- bernstein-2.3.0/src/bernstein/core/security/eu_ai_act.py +0 -270
- bernstein-2.3.0/src/bernstein/core/security/external_policy_hook.py +0 -406
- bernstein-2.3.0/src/bernstein/core/security/graduated_access.py +0 -383
- bernstein-2.3.0/src/bernstein/core/security/guardrail_pipeline.py +0 -247
- bernstein-2.3.0/src/bernstein/core/security/guardrails.py +0 -1028
- bernstein-2.3.0/src/bernstein/core/security/hipaa.py +0 -705
- bernstein-2.3.0/src/bernstein/core/security/jwt_tokens.py +0 -346
- bernstein-2.3.0/src/bernstein/core/security/key_rotation_support.py +0 -334
- bernstein-2.3.0/src/bernstein/core/security/network_isolation.py +0 -275
- bernstein-2.3.0/src/bernstein/core/security/permission_graph.py +0 -343
- bernstein-2.3.0/src/bernstein/core/security/permission_matrix.py +0 -228
- bernstein-2.3.0/src/bernstein/core/security/permission_policy.py +0 -591
- bernstein-2.3.0/src/bernstein/core/security/permissions.py +0 -386
- bernstein-2.3.0/src/bernstein/core/security/policy_engine.py +0 -593
- bernstein-2.3.0/src/bernstein/core/security/policy_templates.py +0 -116
- bernstein-2.3.0/src/bernstein/core/security/promptware_detector.py +0 -465
- bernstein-2.3.0/src/bernstein/core/security/resource_limits.py +0 -292
- bernstein-2.3.0/src/bernstein/core/security/rfc3161_verifier.py +0 -636
- bernstein-2.3.0/src/bernstein/core/security/role_adapter_policy.py +0 -243
- bernstein-2.3.0/src/bernstein/core/security/rule_enforcer.py +0 -572
- bernstein-2.3.0/src/bernstein/core/security/sandbox.py +0 -258
- bernstein-2.3.0/src/bernstein/core/security/sandbox_escape_detector.py +0 -349
- bernstein-2.3.0/src/bernstein/core/security/seccomp_profiles.py +0 -546
- bernstein-2.3.0/src/bernstein/core/security/secrets.py +0 -516
- bernstein-2.3.0/src/bernstein/core/security/secrets_broker.py +0 -831
- bernstein-2.3.0/src/bernstein/core/security/sigstore_attestation.py +0 -488
- bernstein-2.3.0/src/bernstein/core/security/soc2_report.py +0 -479
- bernstein-2.3.0/src/bernstein/core/security/state_encryption.py +0 -527
- bernstein-2.3.0/src/bernstein/core/security/tenant_isolation.py +0 -250
- bernstein-2.3.0/src/bernstein/core/security/tenanting.py +0 -176
- bernstein-2.3.0/src/bernstein/core/security/vault/backend_file.py +0 -294
- bernstein-2.3.0/src/bernstein/core/security/vault_injector.py +0 -490
- bernstein-2.3.0/src/bernstein/core/security/vuln_disclosure.py +0 -494
- bernstein-2.3.0/src/bernstein/core/server/api_compat_checker.py +0 -533
- bernstein-2.3.0/src/bernstein/core/server/json_logging.py +0 -122
- bernstein-2.3.0/src/bernstein/core/streaming_merge.py +0 -418
- bernstein-2.3.0/src/bernstein/core/tasks/abort_chain.py +0 -544
- bernstein-2.3.0/src/bernstein/core/tasks/backlog_parser.py +0 -210
- bernstein-2.3.0/src/bernstein/core/tasks/lifecycle_diagrams.py +0 -312
- bernstein-2.3.0/src/bernstein/core/tasks/models.py +0 -1611
- bernstein-2.3.0/src/bernstein/core/tasks/swarm_migration.py +0 -369
- bernstein-2.3.0/src/bernstein/core/tasks/task_lifecycle.py +0 -3165
- bernstein-2.3.0/src/bernstein/core/telemetry/config.py +0 -173
- bernstein-2.3.0/src/bernstein/core/tokens/auto_distillation.py +0 -955
- bernstein-2.3.0/src/bernstein/core/tokens/context_compression.py +0 -737
- bernstein-2.3.0/src/bernstein/core/tokens/context_fallback.py +0 -334
- bernstein-2.3.0/src/bernstein/core/tokens/context_recommendations.py +0 -327
- bernstein-2.3.0/src/bernstein/core/tokens/prompt_caching.py +0 -1167
- bernstein-2.3.0/src/bernstein/core/tokens/prompt_versioning.py +0 -576
- bernstein-2.3.0/src/bernstein/core/tokens/token_binding.py +0 -222
- bernstein-2.3.0/src/bernstein/core/trackers/__init__.py +0 -85
- bernstein-2.3.0/src/bernstein/core/trackers/builtin/asana_adapter.py +0 -492
- bernstein-2.3.0/src/bernstein/core/trackers/builtin/clickup_adapter.py +0 -462
- bernstein-2.3.0/src/bernstein/core/trackers/builtin/github_projects_adapter.py +0 -641
- bernstein-2.3.0/src/bernstein/core/trackers/builtin/jira_dc_adapter.py +0 -485
- bernstein-2.3.0/src/bernstein/core/trackers/builtin/plane_adapter.py +0 -554
- bernstein-2.3.0/src/bernstein/core/trackers/linear.py +0 -559
- bernstein-2.3.0/src/bernstein/core/trackers/servicenow.py +0 -447
- bernstein-2.3.0/src/bernstein/core/trigger_sources/github.py +0 -117
- bernstein-2.3.0/src/bernstein/core/worktrees/classifier.py +0 -469
- bernstein-2.3.0/src/bernstein/eval/scenario_generator.py +0 -995
- bernstein-2.3.0/src/bernstein/eval/vcr_fixture.py +0 -420
- bernstein-2.3.0/src/bernstein/evolution/__init__.py +0 -468
- bernstein-2.3.0/src/bernstein/evolution/gate.py +0 -979
- bernstein-2.3.0/src/bernstein/github_app/app.py +0 -249
- bernstein-2.3.0/src/bernstein/github_app/webhooks.py +0 -110
- bernstein-2.3.0/src/bernstein/gui/cli.py +0 -349
- bernstein-2.3.0/src/bernstein/gui/qr.py +0 -143
- bernstein-2.3.0/src/bernstein/mcp/routine_tools.py +0 -341
- bernstein-2.3.0/src/bernstein/testing/chaos_framework.py +0 -259
- bernstein-2.3.0/src/bernstein/tui/agent_duration.py +0 -44
- bernstein-2.3.0/src/bernstein/tui/app.py +0 -1167
- bernstein-2.3.0/src/bernstein/tui/approval_panel.py +0 -662
- bernstein-2.3.0/src/bernstein/tui/away_summary.py +0 -248
- bernstein-2.3.0/src/bernstein/tui/color_mode.py +0 -82
- bernstein-2.3.0/src/bernstein/tui/diff_render.py +0 -132
- bernstein-2.3.0/src/bernstein/tui/session_recorder.py +0 -283
- bernstein-2.3.0/src/bernstein/tui/snapshot_testing.py +0 -198
- bernstein-2.3.0/src/bernstein/tui/task_detail_overlay.py +0 -333
- bernstein-2.3.0/uv.lock +0 -4907
- {bernstein-2.3.0 → bernstein-2.4.0}/.aider.conf.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bandit +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bandit-baseline.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/rules.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/enterprise/legacy-modernization-program.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/enterprise/regulator-audit-evidence-pack.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/enterprise/supply-chain-hardening.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/growth/contributor-onboarding.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/growth/issue-triage-workflow.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/research/market-scan.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/research/paper-digest-pipeline.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/api-breaking-migration.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/ci-remediation.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/dead-code-removal.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/dependency-upgrade-sweep.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/docs-upgrade.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/large-codebase-audit.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/monorepo-extraction.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/security-fix-sweep.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/scenarios/software/test-coverage-uplift.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/workflows/audit-evidence-pack.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/workflows/ci-pipeline.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/workflows/parallel-review-merge.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.bernstein/workflows/sequential-deprecation-rollout.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.clusterfuzzlite/build.sh +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.clusterfuzzlite/fuzz_seed_parser.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.clusterfuzzlite/project.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.clusterfuzzlite/requirements.txt +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.coderabbit.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/architecture.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/build-test.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/documentation-duty.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/git-workflow.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/module-map.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/overview.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/roles.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.cursor/rules/setup.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.devcontainer/devcontainer.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.gitignore +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.goosehints +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.importlinter +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.mcp.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.plugin/plugin.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.pre-commit-config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.python-version +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.readthedocs.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.semgrep/baseline.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.semgrep.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.sourcery.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/.well-known/security.txt +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/AGENTS.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/CITATION.cff +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/CLAUDE.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/CODE_OF_CONDUCT.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/CONTRIBUTING.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/CONTRIBUTORS.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/CONVENTIONS.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/Formula/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/LICENSE +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/SECURITY.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/action/entrypoint.sh +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/action.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/agents/orchestrator.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/audits/competitors.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/agent-hq-comparison.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/bench_orchestrator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/bench_quality_gates.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/bench_startup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/bench_task_store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/crewai-langgraph-comparison.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/issues.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/run_benchmark.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/harness.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/public_site.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/run.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/swe_bench/scenarios.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_001_rest_endpoints.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_002_refactor_clean_arch.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_003_auth_middleware.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_004_lint_fixes.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_005_error_handling.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_006_integration_tests.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_007_rate_limiting.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_008_openapi_spec.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_009_logging_monitoring.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/benchmarks/tasks/task_010_security_audit.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/codecov.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/commands/run.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/commands/status.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/commands/stop.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/community/awesome-bernstein-plugins.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/config/eu_ai_act_clause_map.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/github-app/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/github-app/app.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/grafana/dashboard.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/grafana/dashboards/bernstein-otel.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/grafana/provisioning/dashboards/bernstein.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/.helmignore +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/Chart.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/crds/bernsteinplan.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/crds/bernsteinrun.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/NOTES.txt +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/_helpers.tpl +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/configmap.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/deployment-operator.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/deployment-server.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/hpa.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/ingress.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/prometheusrule.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/pvc-server.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/rbac-operator.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/secret-auth.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/service-grpc.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/service.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/servicemonitor.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/statefulset-orchestrator.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/templates/statefulset-worker.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/bernstein/values.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/helm/prometheus-adapter-values.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/otel-collector/otel-collector-config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/deploy/prometheus/prometheus.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker/demo/Caddyfile +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker/demo/demo-cycle.sh +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker/demo/docker-compose.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker/sandbox/Caddyfile +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker/sandbox/docker-compose.researcher.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker/sandbox/docker-compose.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/docker-compose.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/eval/metrics/pentest_scorer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/eval/scenarios/security_pentest.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cli-tool/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cluster/cloudflared/Dockerfile +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cluster/cloudflared/config.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cluster/cloudflared/docker-compose.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cluster/tailscale/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cluster/tailscale/docker-compose.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/cluster/tailscale/tailscale.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/credential-policies/default.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/full.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/Makefile +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/cold-storage-roundtrip.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/expected-pack.zip +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/agent-cards/agent_annex-iii-docs-bot.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/agent-cards/agent_hazard-review-bot.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/agent-cards/agent_safety-threshold-bot.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/log.jsonl +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_114c8657800699a94961b859cc66f1dc1a0fe355921f8bbcaa14f29f4a9abb8f.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_12d7f22422b45131b9a01450b1bb742bb351b591af3ef15e009f4ccb608ca9ff.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_37a705f45afc1b4853b20b792031db1620917c61d3000cf7b8976469b29fc809.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_4e886c85908163e3ea5cc005959d5d3eb95c97685c41dfc5dd059ee9a1efa736.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_60890fbcd37761cc38aca16ffb1a5cd5d5a9c50fbe6c2c51bf2a18c90426cad3.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_ac0d7ceef027d7fca6d2a123d7c83bead4b48bd1903cf0cd8e6d39dd28d2d18e.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_ae80c241d418268ad02b2e0e5475931ab0e6b06303998caa01889a95730a61b5.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_bd00d846626d122991417a1bd5d770dcdc0292ec71a819eb1209b06d57db6425.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/95/95df96a3211e96d7da4cc5eb798aa4878aa2997a85dd259936f399d7c99e9051/sha256_da2b907a802902777490a19d02a2da233632bd533d17fe91d13739566e4a56b2.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_06fbf166c0277d4ccc463cc866407b7a682ff3e029fdaec11ae72e8c8c3f368f.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_0bb48f5f1446ff6679f747ec2d88dccb41fcccf7e806645cce324fa9377783f5.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_20025ef8d7317a38361d0c5e28b369607deae0c06574d917cbd54148e066ecbd.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_376dde3e378cd3471ef6fc532f0b7d5d3c754ee6d43e880e24aee39e9d3b4aa8.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_3ab5e3923944ce20aefd4e2a0bd1a4164db2ac0f4c91da0efd51238f52b9709e.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_3bd8f1e4f3e811002a84625d1778e86ec5565f6d41c3d2d0de721a7d2b15b1b7.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_4b4a9480b8f57a1313aeab6ef7857db9e8b21fb6bc1ef3c88ca3553c57cce315.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_6b134418735f46707c6493acf5bb75b96be60c86329e29c72f5cc51983e742a9.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_6b32e9d178ab1a3a07b74dbea659ffcc2693b47fae60042fb5053adf50c77c50.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_6d78be5de0407737467d7728b91bc7b12cd942d159a75e88bc862fdcfc4bbe2e.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_6fac62494aec875896a3bb3295a81312521b83058b3bdfbd43e584879085c3de.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_8283964b893ead89e49be52ce202c3478bc46fe8be5e5f1f034af11e851bfdc1.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_910867d46f19aa918339c3e172df356ffaf7e321b107835b3b6c0f6b1b9e4667.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_9d5cb089e7fe2b63d70b280ac76ca522def76dc08cba210d7c8471602b5f086f.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_9e81d22317300d790aa57c1ff0ff27a7fc2762785e6b0f17bbac07d810f95cac.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_c01c2cc71cb2613b6df34211255c6191f58c0d9bd9a3fc520abcad3d1eb70b99.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_c367a0189d429436f9752341f920f8caa0518abf99f0b334ebad5766fc40dfeb.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_d00a175e620ec2cb7923ed757c9bcbbeb543c1ff85c0542c459f01bbf5d14b71.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_d70701fdf7bd892fb2ffe1e906b2c84794a1c4a43e7b2aadc25923c7c91fb896.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_d9a7b4f7b17d8d1b46440294183c08a2069a49ee7d09b01165f79588fa780e61.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/eu-manufacturer/fixtures/signatures/d0/d061600fbeb75837683a30d0860e3a5bcd6ca34f89bfdf157f8a0ce42f8c5ddc/sha256_f1cd6640887168dccb689a6764bcc2df5f07c557013fdb3e95776952f12db6a7.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/expected-pack.zip +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/agent-cards/agent_audit-helper.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/agent-cards/agent_code-reviewer.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/agent-cards/agent_docs-bot.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/agent-cards/agent_rogue-helper.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/agent-cards/agent_security-scanner.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/log.jsonl +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/rogue-agent.jsonl +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_01c19a495fb8a5ca33c60b1b780eaeeeaea3d490e5e4cb40231e9f38ccbdc20c.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_0ce8be7573e9a88b940c92908e0122d5b53b63e62a8c8383c9e8cfabf6e46889.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_158ae7e56f1710c08440186fc316afbae31b128b4e0c5bf914ddc9888e1e02a8.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_25c2d14f3518b2762f45109adef168a0c848344e2ae05ce8a0db14fc1ad296ef.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_309f91d19bfe25579056c5179f9c5d072316686cb5513ad896ee13ff716e8414.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_3e56c83393fd2ad85ea52f4c97fdd872f70f2b49af38a20e920490c67a3eb818.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_4306e86ad663041a3ed1ebcc2220f25251027efad07ae449ff1c6d288e68da40.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_432dfb7302f5afa67ff6165ec6f719739e229fcd5f6d07120e7fc39019933141.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_57fdfeccd1c070343bf764fc6fb2b47eef35c7d4eae9c19879809f95bd1e5c66.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_5d2eb39630d55e99b5112cfffc3393c0234b3b04b129aff90a0bce1195cb24e7.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_65fc169adcacad74e6ed62c93bd29783b480a31a3d0db29f1b231b6d4f910aee.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_6737e220d2ceef60f95c70cf2412698c36fe92c697b03c5fbae9fd3ec3677ca2.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_67f5deae58053cc5f4786710303dd1367f825488d455eee2a0acfc229fd49048.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_6964920657a218a43c331c554704248066c4ffe6f32374c5ed4c04bad1112a39.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_72c81d7e69b6b4e95bd5a90e1a92e49998ef712e593c5a60bc09c51190e49fc8.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_77f1161d4be51ff8fdf694f485e7d783e4137f485a0938be4889e386ebf79f42.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_838956158c0bda6dd398df22ca11a1245784d440f275e448a38e4bbcdfaf8636.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_931466cc3be61e98ba397e5f6ee8e1aae224dcf7a73f9b49f9181685173fc929.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_956e21fe4cce6df24ccfdbd91dc5edaeb47bbdc453b1b904c4201ee952891268.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_9b0043972f37f9c22d64bb3463ad180767735ef0158a3450c0a202758cfdc9e9.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_a45ed5bcd0b0d44389c897e0dbc1b93d72499f9a25ed419bbc46b729965c408a.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_a7cef18923222d6a7b6e63b7b06fc4ad1b31e5432bae8db94e023bb06917866c.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_c64e0119ada4fade0b4ed0bc5055216023249e9c998dd5820901d8f7636a5b86.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_c676ff96b4265b793502a5a86aee75e650bb85f4abcb1422e5a77e979bf60067.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_c7663dd869dcdc6af9a626d1b8e829715ba78c39a9994401168ab177f9bfccca.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_c81599bf0bcb83ac0b55767c6240e23861f72147bca383402bca5c1bef5c6249.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_cbf797e7288183f3628512e5a050ec79a51d17730e8fa6ea3724a7b07204a03d.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_d542d2d0d249ae4bf5b2050be5513b7dc05cf1f8d3dcb9644bb8b43a21d5d98f.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_de51954292587178d7e485d3e1337ecf2f02564b3743c2bcc47173ce32ab1d10.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_eb13a92e2a80d9a8b04f1ad508ca5c8a815b51e1c5f69739341307f42267e756.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/fintech/fixtures/signatures-rogue/d0/d023b1ecb03ed7b6e25bcda32e3d6c1dc0ec1af233a7a71e64891697c5233b60/sha256_49060c043afaac9b834829a8e43a62c17ac9068af0491c39d6e3767923efa486.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/article12-mapping.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/expected-pack.zip +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/agent-cards/agent_article11-docs-bot.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/agent-cards/agent_clinical-rules-bot.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/agent-cards/agent_hipaa-redactor.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/log.jsonl +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_0032d25f02082dcd92b1dd9369fd3f9cce9e5e99237cecf1052b94852a919721.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_0a31c27aa3e0fc98d670e3292e218c4ccd792d8011f1dac188ce443ffb2d83ed.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_141c0cc5af2c3f68c56c2efd7c1031f429631d0cdc97336e63da12c2243f9db9.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_170693d1ebc37ffc6ae4f6cb7fcd31a5eaa23a619eefe2818056a94c441c2959.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_21716bf8a916b7e1cd68299691de8c775c2e5304a9455b7a9423d8f39bd96d9a.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_2560dc750982d406fa1d4bd2d2d5919aa17e7af8a21fa751d850b37d46aca474.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_2930f3b7c6dacf92c46e2e8ad7be556721916c5ffb649fe943f7d46b8cf57506.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_33ffdf82f7b05b6e8bbc231caf4fdd7fb6e93143b498195cd1c6ab9b52d69dea.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_8b272585a52254a142e46165d1e989f166b37c593c7d4c3108629a5c1ae39831.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_bdd985071e24b2f3bcb899bc4733e804786ee50472b7232605a94dad8a1e3fe2.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/5b/5b84fb156f1170e7de645a0cf076303273d13c5eb8209b615db946b9a8debce2/sha256_e79ac47b078616971cfb94d9ae2a49b9aed0747ba5b6dbe884914cae4c94d0c1.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_1c453dc43df9d38b144b073da64dab14b13d2ec73b2a289f794355239d9bea55.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_1ccf9f1eda3291dd0b91db33e33b815b9b145ce8f7fa76e7265d0ea3fb94ee04.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_1d74fa63a00bc0884694f92058f791e938deffed83d036e7839aca63158183fe.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_341f96401d7fc330a9e687b3bd3417e86d188d59df309248262fc7b09a3fd172.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_3b2d3d9e57384cfd5bcb622e03562e5f7a3c1279814d89591cb053e2ce241c92.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_4cd1cd7286b0cc62ca618df42040c90375a1552e8cde73eb163a113190b24433.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_50b303b1c84b140069cb7c07c650dd10665e14e6bdcf0d17879b589241328ac3.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_649baaed0da22260af410c87f485a206e321863ac7b3096a6c802f8941b49cea.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_652a942c3f5748f382fd33c33c433bed35167d06431a6cc03e15b23ff0c42a35.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_79c29f710bfaecc3b3e5180244e97f6ddfeca9e95ef9ef99cae2375715565ae5.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_7e5b78916042f3301ced53930205b04b345deb241dbe809cc71c6514e5eb442a.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_8bf509d8806e9e14733b089e6bd3aafe9f93c1a3efa7aa50ea511c489de5d69b.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_a036eea1583a2cbff270a7a35db55143cb7036e034814c2c8c9983bbefa853a9.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_a96822217a673c0a79ece1665521f36cd3fce022d6458a88d5db91e6d5dd97ca.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_b2f421e379cf0cb67ae3d06004388b17ad8f0e5742092847c4ffc1ad1b124828.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_b92b757234a4eece7f929ed4694dcbc0a37887e6aba3d061b9b1e59bd01aef3d.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_ba86900a28b8aab5af842ff84b397d54816e3c7dd0cd5b2023a89a7243bb85e8.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_bc14ba3d23660b04acdbd55cd4a6157798e594f35153b60c14167e8e5f9fcc44.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_bd7907cd155b09cdd2e22ecc903f8de09bd9dbbc919f22707bbc497495e91a45.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_c08bb3d577aeaf72da58977e3917807d2da137545f541966bff1793b08913da9.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/lineage/healthcare/fixtures/signatures/77/77683b56d50825e0bb77c712b9698a95bb7089abadc4ad9a981d9a4fc2282584/sha256_f4608769ccba1487bd0a3e8b6df7d3e06005edc2b1d5eb57d97e0f01dc3ab08c.jws +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/model_policy/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/multi-model/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/multi-model/run.sh +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/accessibility-audit.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/api-versioning.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/auth-system.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/caching-layer.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/ci-cd-pipeline.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/cli-tool.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/cobol-modernization.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/compliance-remediation.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/data-pipeline.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/database-migration.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/event-driven-refactor.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/flask-api.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/graphql-migration.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/i18n-rollout.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/microservice-extraction.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/mobile-bff.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/monorepo-feature.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/observability-stack.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/onboarding-docs.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/performance-optimization.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/search-implementation.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/tech-debt-sprint.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/testing-overhaul.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plans/zero-downtime-deploy.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/adapter_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-adapter/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-adapter/pyproject.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-adapter/src/custom_adapter/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-adapter/src/custom_adapter/_adapter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-audit-sink/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-audit-sink/pyproject.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-audit-sink/src/custom_audit_sink/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-audit-sink/src/custom_audit_sink/_sink.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-guardrail/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-guardrail/pyproject.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-guardrail/src/custom_guardrail/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom-guardrail/src/custom_guardrail/_guardrail.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/custom_router_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/discord_notifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/jira_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/linear_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/logging_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/metrics_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/quality_gate_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/reporter_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/slack_notifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/plugins/trigger_plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/quickstart/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/quickstart/app.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/quickstart/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/rag-system.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/simple.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/examples/todo-app/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/glama.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/hooks/smart_approve.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/integrations/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/integrations/jira_webhook/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/integrations/jira_webhook/app.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/integrations/jira_webhook/requirements.txt +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/integrations/neovim/lua/bernstein/init.lua +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/mkdocs.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/mutmut_config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/.cursor-plugin/plugin.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/rules/bernstein-context.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-agents/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-alerts/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-approve/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-cost/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-create-task/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-plan/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-quality/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/cursor-plugin/skills/bernstein-status/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/.gitignore +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/.vscodeignore +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/CHANGELOG.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/LICENSE +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/PUBLISH.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/esbuild.mjs +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/jest.config.js +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/media/bernstein-icon.png +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/media/bernstein-icon.svg +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/media/screenshots/command-palette.png +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/media/screenshots/dashboard.png +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/media/screenshots/sidebar.png +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/package-lock.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/package.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/AgentTreeProvider.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/BernsteinClient.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/DashboardProvider.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/OutputManager.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/StatusBarManager.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/TaskTreeProvider.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/__mocks__/vscode.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/__tests__/AgentTreeProvider.test.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/__tests__/BernsteinClient.test.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/__tests__/DashboardProvider.test.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/__tests__/TaskTreeProvider.test.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/__tests__/commands.test.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/commands.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/src/extension.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/tsconfig.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/webview-ui/package-lock.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/webview-ui/package.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packages/vscode/webview-ui/vite.config.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/deb/control +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/homebrew/bernstein.rb +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/npm/.npmrc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/npm/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/npm/index.js +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/npm/install.js +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/npm/package.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/packaging/rpm/bernstein.spec +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/plans/strategic-300.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/plans/templates/cli-tool.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/plans/templates/fullstack.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/plans/templates/library.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/plans/templates/refactor.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/plans/templates/rest-api.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/proto/bernstein/v1/cluster.proto +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/proto/bernstein/v1/tasks.proto +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/pyrightconfig.strict.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/release-please-config.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/release-please-manifest.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/renovate.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/rules/orchestration.mdc +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/schemas/audit-multitenant-export-v1.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/schemas/audit-multitenant-export-v2.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/pyproject.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/adapters/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/adapters/github_actions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/adapters/jira.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/adapters/linear.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/adapters/slack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/adapters/teams.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/client.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/models.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/oauth.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/src/bernstein_sdk/state_map.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/python/uv.lock +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/package-lock.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/package.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/adapters/github-actions.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/adapters/jira.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/adapters/linear.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/adapters/slack.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/adapters/teams.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/client.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/index.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/models.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/src/state-map.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sdk/typescript/tsconfig.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/server.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/sonar-project.properties +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/__main__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/_default_templates/ascii_logo.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/_contract.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/aichat.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/aider.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/amp.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/auggie.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/autohand.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/caching_adapter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/charm.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/ci/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/ci/github_actions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_agents.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_cache_control.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_exit_codes.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_mcp_loader.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_routine.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_stream_parser.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/claude_wrapper_script.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/cline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/clm.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/clm_tls_launcher.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/cloudflare_agents.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/codebuff.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/codex.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/codex_cloudflare.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/cody.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/composio.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/continue_dev.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/copilot.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/cursor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/devin_terminal.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/droid.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/env_isolation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/forge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/gemini.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/generic.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/goose.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/gptme.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/hermes.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/iac.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/kilo.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/kimi.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/kiro.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/letta_code.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/mistral.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/mock.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/ollama.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/open_interpreter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/openai_agents.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/openai_agents_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/opencode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/openhands.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/pi.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/plandex.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/plugin_sdk.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/q_dev.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/qwen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/ralphex.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/rovo.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/skills_injector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/adapters/use_cases.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/agents/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/agents/agency_provider.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/agents/catalog.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/agents/discovery.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/agents/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/comparative.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/golden.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/head_to_head.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/programbench.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/reproducible.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/benchmark/swe_bench.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/base.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/browser_rendering.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/cloudflare.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/cloudflare_sandbox.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/openclaw.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/openclaw_state.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/bridges/r2_sync.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/api_warmup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/badge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/_lineage_conflict_helpers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/_lineage_v1_helpers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/ab_test_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/acp_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/adapter_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/adapters_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/adapters_contract_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/agents_md_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/analyze_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/api_check_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/approve_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/auth_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/best_of_n_rank_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/bom_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/chaos_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/checkpoint_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/citation_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/cluster_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/completions_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/config_diff_cli.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/config_path_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/consensus_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/criterion_profile_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/daemon_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/debug_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/decisions_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/delegate_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/dep_impact_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/disaster_recovery_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/doctor_airgap_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/doctor_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/doctor_promptware_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/dry_run_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/explain_help_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/export_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/fingerprint_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/gateway_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/graph_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/hooks_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/identity_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/incident_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/init_wizard_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/integrations_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/knowledge_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/lineage_verify_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/logs_group_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/maintenance_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/mcp_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/merge_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/migrate_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/notify_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/pending_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/pipeline_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/plan_generate_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/plan_validate_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/playground.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/policy_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/postmortem_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/pr_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/preview_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/profile_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/quickstart_templates.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/reject_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/remote_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/replay_filter_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/resume_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/review_pipeline_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/run_changelog_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/sandbox_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/scaffold_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/secrets_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/self_update_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/session_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/simulate_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/slo_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/task_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/telemetry_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/templates_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/test_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/ticket_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/trackers_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/trend_scan_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/undo_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/users_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/verify_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/voice_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/watch_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/wheelhouse_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/wiki_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/worker_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/workspace_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/worktrees_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commands/wrap_up_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/commit_stats.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/dashboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/dashboard_actions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/dashboard_app.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/dashboard_header.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/dashboard_polling.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/debug_bundle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/approval_panel.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/benchmark_charts.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/changelog_display.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/compare_screen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/conversation_inspector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/crt_effects.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/drain_screen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/figlet_logo.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/frame_buffer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/gradients.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/icons.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/leaderboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/splash.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/splash_assets.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/splash_screen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/splash_v2.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/text_effects.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/display/visual_theme.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/doctor/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/doctor/adapter_checks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/doctor/network_checks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/doctor/report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/doctor/suggest_docs.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/first_run_guard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/helpers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/install_check.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/keybindings.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/notebook_traces.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/plan/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/plan/plan_explain.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/release_notes.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/run.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/run_archive.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/run_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/run_preflight.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/scaffold/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/scaffold/templates.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/settings_snapshot.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/side_query.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/transcript_search.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/ui.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/aliases.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/cli_history.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/contextual_help.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/cost_estimate.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/error_suggestions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/errors.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/lazy_loader.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/man_page.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/tip_integration.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/verbosity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/cli/utils/voice_control.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/compliance/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/compliance/evidence_pack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/adapter_autodetect.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/adapter_health.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_cache.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_cost_ledger.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_identity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_ipc.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_lifecycle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_log_aggregator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_profiling.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_reaping.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_session_token_breakdown.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_signals.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_state_refresh.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_trust.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/agent_utilization.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/claude_agent_card.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/claude_max_turns.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/claude_message_normalizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/claude_model_prompts.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/claude_session_resume.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/container.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/cross_agent_consistency.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/harness_policy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/heartbeat.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/idle_detection.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/in_process_agent.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/multimodal.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/orphan_tool_result.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/prompt_cache.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/prompt_cache_locality.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawn_analyzer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawn_errors.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawn_rate_limiter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner_merge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner_prompt.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner_prompt_cache.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner_sandbox_session.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner_warm_pool.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/spawner_worktree.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/tool_masking.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/tool_use_context.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/warm_pool.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/agents/zombie_cleanup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/approval/gate.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/daemon.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/dispatcher.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/ladder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/ownership.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/review_router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autofix/telemetry_grounded.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/audit_log.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/bandit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/bayesian.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/categorizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/cordon.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/cost_guard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/flake_detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/idempotency.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/kill_switch.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/lineage_writer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/provenance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/shadow_mode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/autoheal/wire.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/bindings.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/drivers/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/drivers/discord.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/drivers/slack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/drivers/telegram.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/chat/permissions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/conversation_export.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/direct.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/notifications.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/signals.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/voting.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/communication/whiteboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/compliance/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/compliance/ai_bom.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/compliance/ai_bom_encoders/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/compliance/article12.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/compliance/pack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/config_diff.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/config_drift_cmd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/config_path_validation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/config_schema.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/config_watcher.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/home.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/hook_config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/hook_events.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/hook_protocol.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/hook_templates.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/manifest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/platform_compat.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/prompt_versions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/seed.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/seed_config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/seed_parser.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/upgrade_executor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/view_mode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/config/visual_config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/api_usage.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/budget_actions.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/budget_countdown.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cloud_cost_export.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/completion_budget.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/completion_confidence.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_anomaly.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_arbitrage.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_autopilot.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_comparison.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_forecast.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_history.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_per_line.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_rollup_by_envelope.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_root_cause.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/cost_tracker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/education_tier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/free_tier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/outcome_pricing.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/pareto_frontier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/peak_hour_router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/planned/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/planned/cheaper_retry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/planned/retry_budget.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/predictive_cost_model.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/rate_cards.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/retry_budget.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/savings_calculator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/spend_forecast.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/cost/spend_ledger.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/_render.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/detect.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/errors.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/launchd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/systemd.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/templates/launchd.plist.template +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/templates/systemd-system.service.template +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/daemon/templates/systemd-user.service.template +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/defaults.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/devops/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/distribution/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/distribution/customer_countersign.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/distribution/doctor_airgap.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/distribution/sigstore_attestation_verify.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/distribution/verifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/errors/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/errors/categories.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/errors/hints.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/aggregator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/bulk.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/cost_rollup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/prometheus_proxy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/tui.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/fleet/web.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/changelog.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/commit_provenance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/git_basic.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/git_context.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/git_hooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/git_hygiene.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/git_ops.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/git_pr.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/idempotent_merge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/incremental_merge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/jira_sync.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/merge_queue.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/salvage.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/worktree_claude_md.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/git/worktree_isolation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/grpc_gen/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/handoff/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/handoff/ring_buffer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/identity/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/identity/install_rev.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/integrations/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/integrations/pr_gen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/integrations/tickets/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/integrations/tickets/_http.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/integrations/tickets/github_issues.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/integrations/tickets/jira.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/agents_md_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/diary.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/knowledge_graph.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/lessons.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/memory_guard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/memory_integrity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/memory_lock_protocol.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/repo_analyzer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/researcher.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/semantic_cache.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/synthesizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/task_graph.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/knowledge/wiki_renderer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lifecycle/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lifecycle/blast_radius_gate.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lifecycle/hooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lifecycle/notify_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lifecycle/payload_schemas.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lifecycle/pluggy_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/entry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/gate.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/identity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/merge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/recorder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/lineage/tracker_audit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/memory/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/memory/cross_task_kb.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/memory/jsonl_log.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/memory/sqlite_store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/protocol.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/_http.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/discord.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/email_smtp.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/shell.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/slack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/telegram.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/notifications/sinks/webhook.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/apm_export.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/apm_integration.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/behavior_anomaly.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/cascading_failure_circuit_breaker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/correlation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/custom_metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/datadog_export.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/debug_bundle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/decision_log.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/eval_store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/grafana_dashboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/icons.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/incident.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/incident_timeline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/llm_watcher.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/log_redact.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/log_search.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/loop_detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/metric_export.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/postmortem.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/predictive_alerts.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/profiler.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/progress_watch.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/prometheus.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/promptware_metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/provider_circuit_breaker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/provider_latency.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/rate_limit_tracker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/run_export.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/telemetry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/trace_store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/traces.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/observability/watchdog.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/activity_summary_poller.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/adaptive_timeout.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/best_of_n.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/blue_green.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/bootstrap.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/canary_mode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/capacity_wake.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/commit_completion.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/consensus_relay.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/convergence_guard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/coordinator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/dependency_scan_tasks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/deterministic.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/drain.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/drain_merge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/evolution.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/failure_taxonomy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/federation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/federation_contract.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/issue_to_pr.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/load_scaler.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/manager_models.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/manager_parsing.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/nudge_manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/orchestrator_backlog.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/orchestrator_cleanup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/orchestrator_config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/orchestrator_evolve.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/orchestrator_health.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/orchestrator_run.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/phase_gate_lineage.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/phase_pipeline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/preflight.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/process_utils.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/refinement_loop.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/refinement_schemas.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/rolling_restart.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/run_report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/shutdown_sequence.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/staggered_shutdown.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/stalled_manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/tick_anomaly.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/tick_budget.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/tick_hooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/tick_metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/tick_telemetry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/trigger_manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/watchdog.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/orchestration/worker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/agent_checkpoint.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/atomic_write.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/cas_store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/checkpoint.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/disaster_recovery.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/disk_retention.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/file_locks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/fingerprint.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/lineage_signer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/merkle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/recorder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/resume_prompt.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/runtime_state.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/session.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/session_continuity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/store_factory.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/store_redis.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/sync.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/task_resume.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/wal.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/wal_replay.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/wal_replication.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/persistence/workspace.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/duration_predictor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/feature_contract.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/lifecycle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/plan_builder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/plan_execute.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/plan_loader.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/plan_schema.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/planner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/roadmap_runtime.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/role_resolver.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/routine_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/routine_provisioner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/run_summary.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/scenario_library.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/vertical_slice.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/planning/workflow_importer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/agency_loader.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/dep_resolver.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/plugin_hotreload.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/plugin_installer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/plugin_manifest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/plugin_reconciler.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/sdk_generator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/skill_badges.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/skill_discovery.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/skill_md.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/team_hub_loader.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/team_hub_manifest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/plugins_core/vertical_packs.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/command_discovery.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/port_capture.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/token_issuer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/preview/tunnel_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/a2a/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/a2a/a2a.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/a2a/a2a_federation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/handlers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/schema.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/server.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/session.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp/transport.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/acp_ide_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/cluster/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/cluster/cluster_audit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/cluster/cluster_auth.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/cluster/cluster_autoscaler.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/cluster/cluster_task_stealing.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/cluster/cluster_tls.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/gitops_integration.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/grpc/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/grpc/grpc_client.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/grpc/grpc_server.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_auth_lifecycle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_composition.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_config_validator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_elicitation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_gateway.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_health_monitor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_lazy_discovery.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_marketplace.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_readiness.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_resource_cache.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_sandbox.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_scanner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_server.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_signing_policy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_skill_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_skill_registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_tool_normalization.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_tool_search.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_usage_analytics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_verifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp/mcp_version_compat.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_bot_allowlist.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/audit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/fetcher.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/local_manifests.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/manifest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/manifests/cocoindex_code.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/mcp_catalog/sandbox_preview.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/neovim_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/pm_sync.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/protocol_negotiation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/query_throttle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/quota_poller.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/quota_probe.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/schema_registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/protocols/ssh_backend.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/ab_test.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/arch_conformance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/auto_formatter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/benchmark_gate.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/blast_radius.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/changelog_generator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/ci_fix.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/ci_log_parser.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/ci_monitor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/citation_verifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/collaboration_miner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/complexity_advisor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/cross_model_verifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/dead_code_detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/dep_impact.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/dep_validator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/dependency_scan.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/effectiveness.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/fast_path.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/flaky_detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/formal_verification.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/gate_commands.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/gate_pipeline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/gate_plugins.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/graduation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/integration_test_gen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/quality_gate_coalescer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/quality_gates.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/quality_score.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/readme_reminder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/review_pipeline/abstract_diff.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/review_pipeline/ast_chunker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/review_pipeline/runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/review_pipeline/schema.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/review_pipeline/verdict.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/review_rubric.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/section_dedup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/quality/test_impact.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/replay/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/replay/diff.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/replay/gateway.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review/perspectives.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/dedup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/gh_client.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/normaliser.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/polling.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/pr_gen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/responder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/review_responder/webhook.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/agent_comparison.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/agents.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/api_v1.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/audit_log.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/batch_ops.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/custom_metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/dashboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/discord.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/drain.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/embedding.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/fleet.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/gateway.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/grafana.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/graph.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/handoff.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/health.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/hooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/mcp_bot_tools.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/paginated_tasks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/predictive.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/sbom.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/session_peek.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/slack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/status.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/status_events.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/tasks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/team_dashboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/telemetry_webhooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/tracker_webhooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/websocket.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/well_known.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routes/workspace.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/auto_mode_classifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/capability_router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/cascade.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/cloudflare_ai.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/criterion_profile.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/fast_mode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/llm.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/mode_profile.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/model_fallback.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/model_routing.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/rework_ledger.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/role_classifier.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/route_decision.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/routing/router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backend.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/_http_helpers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/_remote_helpers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/blaxel.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/daytona.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/e2b.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/modal.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/runloop.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/vercel.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/backends/worktree.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/conformance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/manifest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sandbox/selector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/agent_identity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/always_allow.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/approval.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/article12_bundle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/audit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/audit_dsse.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/audit_head_signature.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/audit_integrity.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/audit_pack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/audit_slice.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/auth_middleware.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/auth_rate_limiter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/blocking_hooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/command_allowlist.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/command_policy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/commit_signing.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/compliance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/compliance_policies.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/compliance_report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/dlp_scanner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/dlp_scanner_v2.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/ip_allowlist.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/key_rotation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/license_manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/license_scanner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/lineage_kms.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/network_policy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/oauth_pkce.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/owasp_asi_detectors.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/permission_delegation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/permission_mode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/permission_rules.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/pii_output_gate.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/plan_approval.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/plugin_policy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/policy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/policy_limits.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/post_tool_enforcement.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/promptware_ingest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/quarantine.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/rbac.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/redactor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sandbox_eval.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sandbox_profiles.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sanitize.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sbom.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/seccomp_sandbox.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/security_correlation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/security_incident_response.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/security_posture.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sensitive_data.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sensitive_file_detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/socket_guard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/sso_oidc.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/tenant_isolation_verify.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/tenant_rate_limiter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/url_allowlist.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/audit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/backend_keyring.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/connect.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/factory.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/oauth_device.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/protocol.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/providers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/resolver.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/security/vault/whoami.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/access_log.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/api_compat.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/connection_pool.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/dashboard_auth.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/frame_headers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/hooks_receiver.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/http_retry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/request_dedup.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/request_logging.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/server.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/server_app.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/server_launch.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/server_middleware.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/server_models.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/server_supervisor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/sse_events.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/webhook_handler.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/webhook_signatures.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/server/webhook_verify.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sessions/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/sessions/fork.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/simulate/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/simulate/predictor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/simulate/report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/simulate/runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/index_builder.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/load_skill_tool.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/loader.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/manifest.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/sanitizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/source.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/sources/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/sources/local_dir.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/skills/sources/plugin.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/buffered.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/conformance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/credential_scoping.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/keys.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sink.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sinks/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sinks/azure_blob.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sinks/gcs.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sinks/local_fs.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sinks/r2.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/storage/sinks/s3.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/abandon.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/batch_api.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/batch_router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/claim.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/dead_letter_queue.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/difficulty_estimator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/fair_scheduler.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/lifecycle.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/priority_aging.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/schema_retry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_claim.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_grouping.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_retry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_spawn_bridge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_splitter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_store.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_store_core.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tasks/task_tools.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/telemetry/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/telemetry/client.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/telemetry/events.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/telemetry/install_id.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/telemetry/wire.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/cache_token_tracker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/cascading_token_counter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/claude_prompt_cache_optimizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/compaction_pipeline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/compression_models.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/context.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/context_activation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/context_collapse.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/context_degradation_detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/context_inheritance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/context_window.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/failed_action_retention.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/image_optimizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/prompt_injection.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/prompt_precheck.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/prompt_token_analysis.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/token_analyzer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/token_breakdown.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/token_counter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/token_estimation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/token_monitor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tokens/token_waste_report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trackers/builtin/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trackers/builtin/gitlab_adapter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trackers/builtin/jira_cloud_adapter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trackers/contract.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trackers/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trackers/webhook_receiver.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/discord.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/file_watch.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/gitlab.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/routine.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/slack.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/trigger_sources/webhook.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/drivers/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/drivers/_base.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/drivers/bore.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/drivers/cloudflared.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/drivers/ngrok.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/drivers/tailscale.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/protocol.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/tunnels/registry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/workflows/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/workflows/recipe_spec.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/workflows/workflow_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/workflows/workflow_spec.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/core/worktrees/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/dashboard/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/dashboard/templates/index.html +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/ab_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/baseline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/calibration.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/recipes/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/recipes/add-tests-for-module.trace.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/recipes/bump-dependency.trace.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/recipes/license-audit.trace.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/recipes/refactor-glob.trace.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/recipes/regenerate-docs.trace.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/smoke/001-changelog-entry.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/smoke/002-readme-minor-edit.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/smoke/003-noop-hello-world.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/golden_data/smoke/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/harness.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/incident_synthesizer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/judge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/metrics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/pentest_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/pentest_scorer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/scenario_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/taxonomy.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/telemetry.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/eval/yaml_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evals/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evals/driver.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/_shared.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/aggregator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/applicator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/benchmark.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/circuit.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/creative.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/cycle_helpers.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/cycle_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/data_collector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/detector.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/governance.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/invariants.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/loop.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/oscillation_guard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/predicted_delta.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/proposal_scorer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/proposals.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/report.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/report_generator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/risk.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/sandbox.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/evolution/types.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/github_app/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/github_app/check_runs.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/github_app/ci_router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/github_app/cost_reporter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/github_app/mapper.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/github_app/slash_commands.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/app.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/ci_router.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/cost_reporter.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/mapper.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/pipelines.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/slash_commands.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gitlab_app/webhooks.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gui/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gui/pwa.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gui/static/assets/index-CEZ7xEfT.css +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gui/static/assets/index-sv8fZeO-.js +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gui/static/assets/index-sv8fZeO-.js.map +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/gui/static/index.html +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/__main__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/input_validation.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/remote_transport.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/resources/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/resources/lineage.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/server.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_approve.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_cost.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_create_subtask.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_health.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_run.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_scenario.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_scenario_status.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_scenarios.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_status.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_stop.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/bernstein_tasks.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/mcp/tool_schemas/load_skill.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/hookspecs.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/manager.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/permission_explain.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/plugin_errors.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/plugin_trust.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/plugins/security_review.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/sdd/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/sdd/schema/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/sdd/schema/ticket.v1.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/sdd/validator.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/templates/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/templates/renderer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/testing/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/testing/load_test.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/testing/parallel_runner.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/testing/patch_harness.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/accessibility.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/activity_tracker.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/agent_log.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/agent_states.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/clipboard.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/command_palette.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/context_files_doctor.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/context_tokens.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/contextual_tips.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/cost_sparkline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/dependency_graph.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/diff_folding.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/fallback.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/help_screen.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/keybinding_config.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/layout_cache.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/layout_persistence.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/log_viewer.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/mouse_support.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/notification_badge.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/output_styles.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/progress_bar.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/scheduling_panel.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/session_analytics.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/session_rename.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/session_tags.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/split_pane.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/status_bar.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/styles.tcss +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/task_context.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/task_list.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/task_search.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/themes.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/timeline.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/toast.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/tokens.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/vim_mode.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/widgets.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/worker_badges.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/src/bernstein/tui/worktree_status.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/adapter_plugin/cookiecutter.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/adapter_plugin/{{cookiecutter.adapter_name}}/test_{{cookiecutter.adapter_name}}.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/adapter_plugin/{{cookiecutter.adapter_name}}/{{cookiecutter.adapter_name}}.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/adapters/TEMPLATE.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/add-docstrings.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/add-unit-tests.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/extract-function.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/fix-import-error.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/fix-off-by-one.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/generate-docs.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/orchestrate-parallel-tasks.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/plan-and-execute.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/quality-gate-review.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/benchmarks/refactor-with-review.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/bernstein-cloud/wrangler.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/blast-radius/detectors.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/capabilities/adapters.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/capabilities/mcp_tools.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/capabilities/surfaces.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/ci-parsers/TEMPLATE.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/cloudflare-agent/src/workflows/task-workflow.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/cloudflare-mcp-server/package.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/cloudflare-mcp-server/src/index.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/cloudflare-mcp-server/wrangler.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/criterion_profiles/balanced.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/criterion_profiles/cost-first.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/criterion_profiles/safety-first.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/criterion_profiles/speed-first.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/demo/Makefile +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/demo/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/demo/app.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/demo/bernstein.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/demo/requirements.txt +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/gitlab-ci.yml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/migrations/pytest_asyncio.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/migrations/sync_to_async.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/mode_profiles/deep.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/mode_profiles/fast.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/mode_profiles/smart.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/plan.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/prompts/judge.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/prompts/plan.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/prompts/progress-report.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/prompts/review.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/prompts/signal-check.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/prompts/team-awareness.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/pvc.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/quality_gate_plugin/cookiecutter.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/quality_gate_plugin/{{cookiecutter.gate_name}}/test_{{cookiecutter.gate_name}}.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/quality_gate_plugin/{{cookiecutter.gate_name}}/{{cookiecutter.gate_name}}.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/recipes/add-tests-for-module.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/recipes/bump-dependency.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/recipes/license-audit.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/recipes/refactor-glob.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/recipes/regenerate-docs.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/default-3-phase.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/final_gate.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/lint.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/security.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/senior_synthesis.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/style.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/tests.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/review/types.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/adversary/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/adversary/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/adversary/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/analyst/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/analyst/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/analyst/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/architect/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/architect/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/architect/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/backend/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/backend/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/backend/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/ci-fixer/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/ci-fixer/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/ci-fixer/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/devops/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/devops/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/devops/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/frontend/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/frontend/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/frontend/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/manager/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/manager/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/manager/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/ml-engineer/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/ml-engineer/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/ml-engineer/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/prompt-engineer/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/prompt-engineer/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/prompt-engineer/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/qa/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/qa/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/qa/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/resolver/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/resolver/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/resolver/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/retrieval/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/retrieval/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/retrieval/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/reviewer/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/reviewer/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/reviewer/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/security/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/security/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/security/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/visionary/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/visionary/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/visionary/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/vp/config.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/vp/system_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/roles/vp/task_prompt.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/dependency-audit.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/deploy-verification.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/docs-sync.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/issue-decomposition.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/nightly-maintenance.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/pr-review-comprehensive.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/pr-review-security-focused.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/scenarios/test-coverage-boost.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/service.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/analyst/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/architect/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/architect/references/adr-template.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/architect/references/decomposition-principles.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/backend/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/backend/references/error-handling.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/backend/references/python-conventions.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/backend/references/test-patterns.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/bernstein-commit-protocol.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/bernstein-completion-protocol.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/bernstein-signal-check.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/bernstein-test-runner.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/ci-fixer/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/devops/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/devops/references/ci-patterns.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/devops/references/docker-practices.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/frontend/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/frontend/references/a11y.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/frontend/references/state-management.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/manager/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/manager/references/planning-rules.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/manager/references/task-api.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/ml-engineer/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/ml-engineer/references/evaluation.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/ml-engineer/references/reproducibility.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/prompt-engineer/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/qa/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/qa/references/edge-cases.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/qa/references/test-strategy.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/resolver/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/retrieval/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/retrieval/references/chunking.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/retrieval/references/hybrid-search.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/reviewer/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/reviewer/references/feedback-tone.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/reviewer/references/review-rubric.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/security/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/security/references/auth-checklist.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/security/references/owasp-top-10.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/security/references/secrets-handling.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/visionary/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/vp/SKILL.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/vp/references/cell-decomposition.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/skills/vp/references/pivot-evaluation.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/ticket.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/workflows/dependency-bump.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/workflows/doc-update.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/workflows/hot-fix.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/workflows/idea-to-pr.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/workflows/refactor-with-tests.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/templates/workflows/security-review.yaml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/tools/verify_audit_dsse.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/typos.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/verify_cli/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/verify_cli/bernstein_verify/__init__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/verify_cli/bernstein_verify/__main__.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/verify_cli/bernstein_verify/verify.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/verify_cli/pyproject.toml +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/vulture_whitelist.py +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/.gitignore +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/README.md +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/components.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/index.html +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/package-lock.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/package.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/postcss.config.js +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/App.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/AppShell.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/CommandPalette.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/PlaceholderScreen.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/ThemeProvider.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/deps/TaskDepsPanel.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/DiffFileList.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/DiffFileView.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/DiffHeader.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/DiffLine.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/DiffStates.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/TaskDiffPanel.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/highlight.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/types.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/useTaskDiff.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/diff/utils.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/GateCountsHeader.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/GateFilters.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/GateRow.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/GateStatusIcon.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/TaskGatesPanel.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/TaskLifecyclePill.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/buckets.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/index.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/time.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/types.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/gates/useTaskGates.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogEmptyState.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogFollowControl.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogKeyboardHelp.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogLevelFilter.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogLine.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogList.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogPauseControl.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogSearchBar.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogStats.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogStatusPill.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/LogToolbar.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/TaskLogsPanel.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/ansi.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/index.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/parseLine.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/types.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/useLogSearch.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/useLogShortcuts.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/useTaskLogStream.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/useThroughput.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/logs/utils.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/trace/TaskTracePanel.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/trace/TraceEventCard.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/trace/TraceFilters.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/trace/format.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/trace/types.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/components/trace/useTaskTrace.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/index.css +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/api.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/format.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/motion.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/pwa.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/sse.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/states.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/lib/utils.ts +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/main.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Agents.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Approvals.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Audit.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Costs.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Fleet.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Settings.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/src/routes/Tasks.tsx +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/tailwind.config.js +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/tsconfig.app.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/tsconfig.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/tsconfig.node.json +0 -0
- {bernstein-2.3.0 → bernstein-2.4.0}/web/vite.config.ts +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# ClusterFuzzLite builder image for bernstein.
|
|
2
|
+
#
|
|
3
|
+
# Digest-pinned base image so the build is reproducible and Scorecard's
|
|
4
|
+
# Pinned-Dependencies check is satisfied. The base image ships Python
|
|
5
|
+
# 3.11; the OSSF Scorecard Fuzzing check only requires a runnable
|
|
6
|
+
# harness, not coverage of the full bernstein package (which targets
|
|
7
|
+
# Python 3.12+). The harness here therefore targets YAML parsing
|
|
8
|
+
# directly via PyYAML, which is the same parser primitive that
|
|
9
|
+
# bernstein.core.config.seed_parser sits on top of. The Hypothesis
|
|
10
|
+
# property-test suite in tests/ remains the primary fuzzing surface
|
|
11
|
+
# for the rest of bernstein's input handling.
|
|
12
|
+
# Ref: https://google.github.io/clusterfuzzlite/build-integration/python-lang/
|
|
13
|
+
FROM gcr.io/oss-fuzz-base/base-builder-python@sha256:04d1a93ee11e221f464dde307b3003c6a5f4a9ac148f00ceff3006e777467107
|
|
14
|
+
|
|
15
|
+
COPY . /src/bernstein
|
|
16
|
+
WORKDIR /src/bernstein
|
|
17
|
+
COPY .clusterfuzzlite/build.sh /src/build.sh
|
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable project changes are tracked here (code + docs).
|
|
4
|
+
|
|
5
|
+
## [2.4.0] - Observability surfaces, single-writer run state, declarative planning gates
|
|
6
|
+
|
|
7
|
+
33 commits since v2.3.1. Full notes: [`docs/release-notes/v2.4.0.md`](docs/release-notes/v2.4.0.md).
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Unified `bernstein doctor observe` umbrella that runs the Sonar, GlitchTip, Dependency-Track, and GitHub Code Scanning probes in order and renders one aggregated table with delta-since-last-check; supports `--json` and `--watch`, each backend soft-fails to `SKIPPED` when unset, deltas cache under `.sdd/observability/<backend>.json`. Adds a per-PR sticky summary workflow and a daily trends snapshot workflow that re-renders `docs/observability/trends.md` (#1650).
|
|
12
|
+
- Spec-quality gate (`bernstein spec check` / `bernstein spec auto-fix`): a deterministic, library-only rule set (acceptance-criteria, out-of-scope, tested-via, no-TODO, no-placeholder, ref-paths-exist) that refuses to advance a failing spec, routes through a bounded auto-fix loop, and raises `SpecQualityUnresolvedError` when the budget is exhausted; rules pluggable via the `bernstein.spec_quality_rules` entry-point group (#1652).
|
|
13
|
+
- Three-layer skill customization (BASE / TEAM / USER) under XDG paths with a per-field deterministic merge spec; `bernstein skills list --layered` and `bernstein skills show <name> --per-layer` surface layer-of-origin and the merged/raw diff (#1654).
|
|
14
|
+
- `bernstein doctor sonar` subcommand surfacing coverage, code smells by severity, bugs, vulnerabilities, security hotspots, and cognitive-complexity hotspots from a configured SonarQube server; advisory baseline cache and parent-doctor nudge when open smells exceed the threshold or vulnerabilities regress (#1648).
|
|
15
|
+
- `bernstein doctor glitchtip` subcommand surfacing last-24h issue counts by severity, a 7-day trend, and top unresolved issues; optional baseline cache and parent-doctor nudge when new unresolved issues appear (#1646).
|
|
16
|
+
- Sticky PR Sonar comment workflow and daily GlitchTip alert sweep workflow (06:30 UTC) that mirrors fatal-level issues into sticky GitHub issues labelled `glitchtip-alert` and auto-closes them when the GlitchTip side resolves (#1646, #1648).
|
|
17
|
+
- Canonical stream-signal protocol (`COMPLETED`, `FAILED`, `QUESTION`, `PLAN_DRAFT`, `PLAN_READY`, `BLOCKED`) parseable from any wrapped CLI stdout; optional `stream_signal_parser` hook on `CLIAdapter`; `ConformanceReport` soft-warns on missing terminal signals (#1638).
|
|
18
|
+
- Single-writer `RunActor` with one async event queue, monotonic seq numbers, and a bounded `ReplayBuffer` that emits an explicit `Gap{up_to_seq}` marker on eviction; approval gate gains an opt-in `session_id` kwarg that mirrors approval events through `run_actor_registry` (#1641).
|
|
19
|
+
- Empirical-confidence ledger: append-only SQLite store of per-decision outcomes plus a sample-size-gated `ConfidenceQuery` (default 5) wired into the model recommender ahead of the capability-tier heuristic and the bandit arm (#1653).
|
|
20
|
+
- Declarative task DAG: `Task.parallel_safe` and `Task.story_id` fields, `[T<id>] [P] [USn]` backlog parser, `core/orchestration/task_dag.py` with `topological_iter_with_parallel` yielding ready batches, and `bernstein plan dag` / `bernstein tasks dag` CLI renderers (#1655).
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- HTTP approval replies now require a single-use 16-byte server-minted `nonce`; mismatches surface `409 NONCE_MISMATCH` and replays against an evicted approval surface `410 NONCE_EXPIRED` (#1642).
|
|
25
|
+
- Sonar scan workflow switched from a direct trigger to `workflow_run` on the CI workflow; the scan now consumes the existing `coverage-report` artifact instead of re-running the full test suite under a single non-sharded `pytest --cov` (#1645).
|
|
26
|
+
- `bernstein approve-tool` / `bernstein reject-tool` read the on-disk pending-approval record and thread the nonce back through `resolve()` (#1642).
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- Re-add `str()` coercion inside the `OSError` / `TimeoutExpired` handler of `git_context._run_git` so callers passing a `Path` in the `argv` list (`test_context`, `test_context_builder`, `test_failure_reduction` via `cochange_files`) do not crash the debug formatter with `expected str instance, PosixPath found` (#1644).
|
|
31
|
+
- Apply `ruff format` to `core/quality/review_pipeline/review_gate.py` after #1638 collapsed several string and comprehension wrappings under the 120-character line length, fixing `ruff format --check` on main (#1640).
|
|
32
|
+
- Default empty `nonce` body field to an empty string at the schema layer so a missing field flows through the handler and surfaces as `409 NONCE_MISMATCH` instead of `422` (#1642).
|
|
33
|
+
- Move `Iterator` and `Path` imports under `TYPE_CHECKING` in `core/orchestration/task_dag.py`, replace `== True` with `is True` in `tests/unit/tasks/test_parallel_flag.py`, and run `ruff format` across the four files added or touched by #1655, fixing the Lint job that turned main red after the task-DAG merge (#1657).
|
|
34
|
+
- Widen the Schemathesis smoke step timeout to stop the property-based API smoke run being cancelled mid-flight under the normal main merge cadence (#1659).
|
|
35
|
+
- Pin the published runtime image and the demo image back to `python:3.13-slim` by digest (both had drifted to `python:3.14-slim` while their comments read 3.12), matching the repository python policy and adapter dependency constraints (#1664).
|
|
36
|
+
- Repair the `sonar-scan` `workflow_run` trigger: make `workflow_dispatch` resolve the most recent successful CI run on main and pull its `coverage-report` artifact so a manual bootstrap scan carries full Python coverage instead of scanning coverage-less (#1665).
|
|
37
|
+
- Stop the review-bot-ack gate from cancelling its own required status check: scope the concurrency group per-PR and per-head-sha with `cancel-in-progress: false` so each commit's gate run completes against its own sha and a `CANCELLED` conclusion no longer stalls the merge queue (#1666).
|
|
38
|
+
|
|
39
|
+
### Documentation
|
|
40
|
+
|
|
41
|
+
- Doc-drift refresh reconciling 16 `docs/concepts/` and `docs/gui/` documents with current source-of-truth public surfaces (renamed CLI subcommands, signatures, and config knobs); `docs/sdd/` verified in sync (#1677).
|
|
42
|
+
|
|
43
|
+
### Internal
|
|
44
|
+
|
|
45
|
+
- Refurb auto-fix wave 4: FURB184 197 -> 34, FURB138 42 -> 8, FURB124 29 -> 3, FURB142 16 -> 0, FURB113 23 -> 21 in `src/`; plus a `ruff format` pass over 36 files to wrap `E501` long-line comprehensions and four targeted fixes for broken `seen in seen` self-referential dedup comprehensions (#1643).
|
|
46
|
+
- Refurb cluster D: FURB139 / FURB143 / FURB179 strings and enumerate, 16 autofixes (#1647).
|
|
47
|
+
- Refurb cluster E: FURB182 / FURB183 / FURB142 / FURB101 miscellaneous, 33 autofixes across 21 files; refurb now reports 0 alerts for these rules in `src/` (#1649).
|
|
48
|
+
- Refurb cluster B: FURB109 / FURB108 / FURB126 control flow, 53 autofixes across 44 files; pure control-flow and literal rewrites with no behavioural change (#1651).
|
|
49
|
+
- Review-bot acknowledgement gate caught seven CodeRabbit must-address findings on #1646: HTTP status validation, `gh issue` subprocess `check=True`, doc clarification on soft-fail conditions, narrower import-time exception handling, logging of unexpected fetch failures, `IntRange(min=1)` on `--top-n`, and dropping a truthy fallback in `summarise_severity` / `_bucket_trend_by_day` that was inflating zero counts to one.
|
|
50
|
+
- Adds a CI workflow-health sweep summary at `docs/ci/workflow-health-2026-05-20.md` covering all 47 registered workflows (#1666).
|
|
51
|
+
|
|
52
|
+
### Dependencies
|
|
53
|
+
|
|
54
|
+
- Update dependency python to 3.13 and bump the `python:3.13-slim` and `gcr.io/oss-fuzz-base/base-builder-python` docker digests (#1663, #1678, #1670).
|
|
55
|
+
- Bump `actions/setup-python` 5 -> 6, `peter-evans/create-pull-request` to 7.0.11 / 8.1.1, and `marocchino/sticky-pull-request-comment` to v2.9.4 / v3 (#1668, #1662, #1667, #1661, #1671, #1669).
|
|
56
|
+
|
|
57
|
+
## [2.3.1] - Maintenance
|
|
58
|
+
|
|
59
|
+
4 commits since v2.3.0. Full notes: [`docs/release-notes/v2.3.1.md`](docs/release-notes/v2.3.1.md).
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- Restore numeric and key coercions removed by the refurb FURB123 pass, and reapply 19 deferred review-bot findings from the 2026-05-19 catch-up (#1615, #1618).
|
|
64
|
+
- Soft-fail the cross-repo landing-mirror dispatch on PAT scope errors so the docs-drift pipeline no longer blocks on a 403 (#1617).
|
|
65
|
+
- Wrap `sentry_sdk.init` in a best-effort try/except so a malformed `GLITCHTIP_DSN` cannot crash the CLI on import (#1618).
|
|
66
|
+
- Treat schema-invalid snapshot sidecars as unreadable metadata (return None and warn) instead of raising through `SnapshotStore.get` / `list` (#1618).
|
|
67
|
+
- Map `UrlSchemeError` to `TransportError` in `SseTransport.connect` and `StreamableHttpTransport.connect`; map `UrlSchemeError` to `NullAlertSink` fallback in lineage-alert `sink_from_config` (#1618).
|
|
68
|
+
- Reject negative `--days` / `older_than_days` in `bernstein git gc` before constructing `SnapshotStore` and before computing the cutoff (#1618).
|
|
69
|
+
- Catch OSError around GitHub App private-key reads and surface `TrackerUnavailable`; skip GraphQL items whose `content.__typename` is not Issue/PullRequest/DraftIssue rather than emitting empty tickets (#1618).
|
|
70
|
+
- Validate sign inputs as a pair and read the private key before assembling the bundle in `bernstein bundle` so invalid CLI input never mutates on-disk state (#1618).
|
|
71
|
+
|
|
72
|
+
### Internal
|
|
73
|
+
|
|
74
|
+
- Bulk refurb auto-fix wave 3: FURB123 (147 sites), FURB138 (57 sites), FURB113 (5 leftovers). One FURB123 site reverted (bytes-coercion inside an `isinstance(bytearray)` branch). FURB123 down to 0, FURB138 down to 49, FURB113 down to 26 (#1615).
|
|
75
|
+
- Widen the sonar-scan job timeout to 60 minutes with per-step caps (sync 15m, coverage 30m, scan 10m); pin `astral-sh/setup-uv@v8.1.0` with caching (#1616).
|
|
76
|
+
- Generate the SBOM from an isolated venv that contains only the project and its resolved dependencies, so the output reflects bernstein's dependency graph rather than the runner base image (#1618).
|
|
77
|
+
- Add `docs/operations/glitchtip-setup.md` covering DSN provisioning, env-var export, and end-to-end event verification (#1616).
|
|
78
|
+
- Record 14 review-bot findings already resolved on source PR branches and 11 deferred for design judgement in `docs/review-bot/deferred-2026-05-19.md` (#1618).
|
|
79
|
+
|
|
80
|
+
## [2.3.0] - Tracker-adapter family
|
|
81
|
+
|
|
82
|
+
127 commits since v2.2.0. Full notes: [`docs/release-notes/v2.3.0.md`](docs/release-notes/v2.3.0.md).
|
|
83
|
+
|
|
84
|
+
### Highlights
|
|
85
|
+
|
|
86
|
+
- 10 tracker adapters land under a single `TrackerContract` (Asana, ClickUp, GitHub Projects v2, GitLab Issues, Jira Cloud, Jira DC, Linear, Plane, ServiceNow, plus webhook ingestion).
|
|
87
|
+
- Tracker plugin hookspec + registry + CLI for third-party tracker integrations (#1599).
|
|
88
|
+
- Issue -> plan-comment -> PR orchestration pipeline (#1600); tracker comments as multi-agent handoff bus (#1606).
|
|
89
|
+
- Review-bot acknowledgement gate: CodeRabbit / Sourcery must-address findings block merge until addressed or acknowledged (#1583).
|
|
90
|
+
- Signed lineage v2 audit log of tracker state moves (#1602).
|
|
91
|
+
- Playwright-based self-testing sandbox for UI/web agent runs (#1603).
|
|
92
|
+
- Secrets broker for short-lived per-task tokens (#1605).
|
|
93
|
+
- Bulk refurb auto-fix waves 1 + 2 across `src/` (#1558, #1582).
|
|
94
|
+
|
|
95
|
+
## [2.0.0] — Web UI
|
|
96
|
+
|
|
97
|
+
Bernstein now ships a web interface. The major bump is signalling the new operator surface, not a breaking API change. v1.10.x configs, plans, adapters, audit chain, lineage, and CLI / TUI surfaces are unchanged.
|
|
98
|
+
|
|
99
|
+
Hand-curated release notes: [`docs/release-notes/v2.0.0.md`](docs/release-notes/v2.0.0.md). Tracking issue: [#1262](https://github.com/sipyourdrink-ltd/bernstein/issues/1262).
|
|
100
|
+
|
|
101
|
+
### Added — Web UI
|
|
102
|
+
|
|
103
|
+
- **`bernstein gui serve`** boots a FastAPI server with the SPA mounted at `/ui` and the full `/api/v1/*` surface attached. Default `http://127.0.0.1:8052/ui/`. SPA bundle ships in the wheel (no Node toolchain required at install time).
|
|
104
|
+
- **Top-level tabs**: Tasks, Agents, Approvals, Audit, Costs, Fleet (scaffold), Settings (placeholder).
|
|
105
|
+
- **Per-task drawer** with tabs:
|
|
106
|
+
- **Summary** — KPIs (tokens / cost / branch / approvals), plan steps from `progress_log`, drag-resize, focus trap, ESC + click-outside close (#1254).
|
|
107
|
+
- **Logs** — SSE stream, ANSI rendering, virtualised list, search, level filters, throughput stats, keyboard shortcuts.
|
|
108
|
+
- **Diff** — `GET /tasks/{id}/diff`; split / unified view, syntax highlight, copy + `.patch` download (#1255).
|
|
109
|
+
- **Gates** — `GET /tasks/{id}/gates`; status buckets, auto-expand failures, polling that pauses on terminal tasks (#1258).
|
|
110
|
+
- **Deps** — `GET /tasks/{id}/graph-neighbors`; upstream / downstream graph, polling (#1260).
|
|
111
|
+
- **Trace** — `GET /tasks/{id}/trace` reading `.sdd/traces/{task_id}.jsonl`; filter chips, search, live polling while open (#1256).
|
|
112
|
+
|
|
113
|
+
### Fixed
|
|
114
|
+
|
|
115
|
+
- **Per-step `cli:` and `model:` in plan-driven runs** — three dispatch-pipeline bugs (POST payload dropping `model` / `effort`, role config.yaml clobbering per-task pin, merge gate ignoring `cli` mismatch) that silently collapsed plan steps onto the role default. Regression tests at `tests/unit/test_per_step_routing.py` (#1259).
|
|
116
|
+
- **Startup banner** — `bernstein run` / `bernstein conduct` regained the banner; an earlier commit removed it under a false "already printed" comment. Pinned by `tests/unit/cli/test_run_banner.py` (#1257).
|
|
117
|
+
- **`/openapi.json` 500** — FastAPI's OpenAPI builder tripped on `from __future__ import annotations` turning the GUI's response annotations into strings; `response_class` now declared explicitly on `/gui-meta` + `/ui` (#1253).
|
|
118
|
+
- **dev-proxy double-prefix** — `apiGet` is now idempotent; the Logs panel's terminal-task fallback no longer 404s on `/api/v1/api/v1/...` (#1253).
|
|
119
|
+
|
|
120
|
+
### Limitations (intentional)
|
|
121
|
+
|
|
122
|
+
- A11y audit, dark / light theme toggle UI, mobile-responsive pass, Settings screen wiring, Fleet UI, front-end test suite, Playwright e2e — all open. See [#1262](https://github.com/sipyourdrink-ltd/bernstein/issues/1262) for contributor-welcome pointers.
|
|
123
|
+
|
|
124
|
+
## Unreleased
|
|
125
|
+
|
|
126
|
+
### CI
|
|
127
|
+
|
|
128
|
+
- **Bootstrap composite action for `astral-sh/setup-uv` (post-checkout).** Added `.github/actions/bootstrap/action.yml` wrapping `astral-sh/setup-uv` behind one pinned-SHA call. Inputs cover `python-version`, `enable-uv-cache`, `cache-key-suffix`, and a `setup-uv` toggle. The composite must be invoked AFTER `step-security/harden-runner` + `actions/checkout`, because a local composite action cannot resolve until the repository is checked out onto the runner. Each calling job inlines the harden-runner and checkout steps as before, then calls the composite for Python/uv setup. Net effect: pinned-SHA bumps for the uv setup now happen in one file instead of every job that runs uv.
|
|
129
|
+
- **Install-path smoke matrix against the built wheel.** Added `install-smoke-pipx` (matrix: ubuntu-latest x macos-latest x Python 3.12 / 3.13, matching `requires-python = ">=3.12"`) and `install-smoke-uv` (leaner: ubuntu-latest + macos-latest, Python 3.12) jobs to `.github/workflows/ci.yml`. Both jobs install from the wheel produced by the `dist-size` job (never editable), then run `bernstein --version`, `bernstein --help`, and an `importlib.resources` probe against the pipx- or uv-managed interpreter to confirm `console_scripts`, entry-point loading, and `package-data` (MCP tool schemas, force-included default templates) survive the build. Wheel size is gated at 25 MB inside the smoke jobs (independent of the tighter 10 MB day-to-day ceiling enforced by `dist-size`). Both jobs are wired into the `CI gate` required-check rollup so a regression on the pipx or `uv tool install` path now blocks merge instead of surfacing through user reports. Closes the regression-coverage gap on the install path documented first in README.
|
|
130
|
+
|
|
131
|
+
### Security
|
|
132
|
+
|
|
133
|
+
- **Strip invisible Unicode Tag codepoints from injected skills (spec 2026-05-17).** Public research (Feb 2026, Embrace the Red; Snyk skill-pack audit of 3,984 public files showing 36.82% with security flaws) demonstrated that invisible glyphs in the U+E0000-U+E007F Tag block are interpreted as instructions by Claude, Gemini, and Grok. Bernstein now strips every Cf-category, Tag-block, and interlinear-annotation codepoint from skill bodies before they are written into `.claude/skills/*.md` in agent worktrees. The new `bernstein.core.skills.sanitizer.strip_invisible_tags` function returns the cleaned body plus the count of stripped codepoints; the `SkillLoader` and `skills_injector` both invoke it at index time. A WARN log line plus a Prometheus counter `bernstein_skills_unicode_tags_stripped_total{source_name}` fire on every hit so operators can pinpoint a poisoned upstream source. Default ON; opt out with the hidden `--unsafe-allow-unicode-tags` CLI flag (or `BERNSTEIN_UNSAFE_ALLOW_UNICODE_TAGS=1`) only when reproducing an incident in a controlled environment.
|
|
134
|
+
|
|
135
|
+
### Added — routing
|
|
136
|
+
|
|
137
|
+
- **Per-task criterion profile (#1346).** Operators can now stamp a four-axis weight vector (`correctness`, `cost`, `latency`, `reversibility`) onto individual tasks to bias model selection. Named presets (`safety-first`, `speed-first`, `balanced`, `cost-first`) ship in `templates/criterion_profiles/` and force-include into the wheel. Inline dicts work too: `metadata['criterion_profile'] = {"correctness": 0.6, ...}`. Surfaced via `bernstein add-task --criterion-profile <preset>`, `bernstein run --criterion-profile <preset>`, and `bernstein criterion-profile show <task_id> | list`. Feature flag `BERNSTEIN_CRITERION_PROFILE=0` reverts to pre-existing routing. Child tasks inherit the parent's profile unless explicitly overridden.
|
|
138
|
+
|
|
139
|
+
### Changed — chat bridge
|
|
140
|
+
|
|
141
|
+
- **Telegram driver simplified to a single long-poll path.** The `python-telegram-bot` v22 long-poll driver at `bernstein.core.chat.drivers.telegram` is the only Telegram driver. Configure a bot API token from `@BotFather` and a chat id; no external services. The earlier optional bridge-router architecture has been removed.
|
|
142
|
+
- **Telegram notification sink simplified.** `TelegramSink` accepts a live `TelegramBridge` via `config["bridge"]` or a token string via `config["token"]` and routes through the standard long-poll path.
|
|
143
|
+
|
|
144
|
+
### Repo hygiene
|
|
145
|
+
|
|
146
|
+
- **Worktree-debris cleanup (2026-05-17).** Reaped 50 stale parent-level `bernstein-wt-*` worktrees plus `bernstein-audit-6e` (hireex/rebirth worktree on a bernstein-named path). Every branch tip was tag-rescued under `rescue/<branch>-20260517T152307Z` and pushed to origin before the worktree was force-removed and the local branch deleted. Three active-agent worktrees were preserved (`bernstein-wt-fix-determine-changes`, `bernstein-wt-fix-reviewer-prompts`, `bernstein-wt-syn-gitlab`). `git worktree list` is back to canonical: the main checkout plus the in-repo `.claude/worktrees/` registry.
|
|
147
|
+
|
|
148
|
+
### Documentation
|
|
149
|
+
|
|
150
|
+
- **Per-step CLI and model routing surfaced.** Added [`docs/workflows/per-step-routing.md`](docs/workflows/per-step-routing.md) documenting the existing per-step `cli:` / `model:` / `effort:` plan fields, the surfaces that honour them, the surfaces that drop them, and a trace-based verification recipe. `templates/bernstein.yaml` now ships a commented-out per-stage override example that points at the new page. `templates/workflows/idea-to-pr.yaml` and `templates/workflows/refactor-with-tests.yaml` carry inline comments showing where operators most often want to pin different adapters or models and the plan-YAML lift to do it. The runtime support already existed (`plan_loader._parse_step` at `plan_loader.py:255-294`, `planner.py:86-96`); this PR closes the discoverability gap raised in discussion #962.
|
|
151
|
+
|
|
152
|
+
## [1.10.1] — 2026-05-07
|
|
153
|
+
|
|
154
|
+
### Added — adapters
|
|
155
|
+
|
|
156
|
+
- **Devin for Terminal (Cognition).** First-class adapter with 558 lines of contract tests covering process tracking, env isolation, and timeout watchdogs. Drop-in for any plan via `cli_agent: devin_terminal`.
|
|
157
|
+
- **JetBrains Junie CLI.** LLM-agnostic BYOK adapter (`cli_agent: junie`) — forwards whichever provider key (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, etc.) the routed model needs and dynamically narrows the network allowlist to that provider's endpoints.
|
|
158
|
+
- **AWS Q Developer CLI.** First-class adapter (`cli_agent: q_dev`) using `q chat --no-interactive --trust-all-tools`. Token bootstrap via `q login` is documented in the adapter docstring; missing token cache surfaces a clear error rather than a silent hang. IAM Identity Center role inheritance noted as a deployment risk.
|
|
159
|
+
- **Cursor adapter rewrite.** Replaced shell to non-existent `cursor agent` binary with the real `cursor-agent` CLI surface (`-p --workspace --output-format stream-json --trust --approve-mcps --force`); 242 lines of new contract tests.
|
|
160
|
+
|
|
161
|
+
### Added — operator surfaces
|
|
162
|
+
|
|
163
|
+
- **Live terminal peek for the web dashboard (#1217).** New `GET /sessions/{id}/peek` JSON tail endpoint, plus a vanilla-JS surface at `/dashboard/peek/{id}` (single session) and `/dashboard/peek?s1=...&s2=...&s3=...&s4=...` (2x2 tile grid sized for a 390x844 phone viewport). Each tile carries a regex search box and a send-bar wired to `POST /sessions/{id}/send`, which pipes one line of operator input back into the agent's stdin via the existing `agent_ipc` registry. The bearer-auth middleware in `server_middleware.py` covers both routes unchanged.
|
|
164
|
+
- **Run savings summary.** Each `bernstein run` summary card now reports estimated savings vs running the same plan single-shot through the most expensive routed model.
|
|
165
|
+
|
|
166
|
+
### Fixed
|
|
167
|
+
|
|
168
|
+
- **Handoff tokens prefixed with `h_`.** `secrets.token_urlsafe()` produces a `-`-leading token in roughly 1.5% of issuances; click misparses `bernstein handoff claim TOKEN` as if `-V` were an option. Fix issues all tokens with the `h_` prefix.
|
|
169
|
+
|
|
170
|
+
### Documentation
|
|
171
|
+
|
|
172
|
+
- **Enterprise evaluation guide** — deployment shapes Bernstein already supports (laptop tool, on-prem cluster, air-gap-clean wheelhouse, MCP server mode behind a corporate egress proxy) and the audit, lineage, and operator surfaces to interrogate before bringing it inside a regulated perimeter.
|
|
173
|
+
- **Use-case workflows page** (`docs/use-cases.md`) — four most-asked patterns: continuous codebase audit, stale-PR triage, parallel adapter benchmarking, post-mortem evidence pack. Contributed by @zerone0x via #1048.
|
|
174
|
+
- Internal scheduler-LLM example bumped from `gemini-2.5-pro` to `gemini-3.1-pro`.
|
|
175
|
+
- Author identity surfaces (sameAs / rel=me / twitter:creator) reconciled across bernstein.run, alexchernysh.com, and the SoftwareApplication JSON-LD on the docs site.
|
|
176
|
+
|
|
177
|
+
### Tooling
|
|
178
|
+
|
|
179
|
+
- README's CodeTrendy banner shrunk from a 104px image strip to an inline shields.io badge.
|
|
180
|
+
- `--max-agents` doc references replaced with the real `BERNSTEIN_MAX_AGENTS` env var (the public surface since 1.8).
|
|
181
|
+
|
|
182
|
+
## [1.10.0] — 2026-05-05
|
|
183
|
+
|
|
184
|
+
### Added — operator surface
|
|
185
|
+
|
|
186
|
+
- **Cluster-mode hardening** — native mTLS for node-to-node transport with `bernstein cluster bootstrap-ca`; real 2-process e2e test harness with 6 chaos scenarios (worker crash, central restart, network partition, token expiry, concurrent claims); 5 Prometheus metrics + 6 audit event types; documented Cloudflare Tunnel + Tailscale deployment patterns with nightly CI smoke.
|
|
187
|
+
- **Air-gap distribution** — `scripts/build_airgap_wheelhouse.py` resolves the pinned dep closure into a signed wheelhouse; `bernstein verify <wheelhouse>` checksum + signature verification (cosign default, GPG path); new `--profile airgap` egress gate denies adapter/MCP network calls outside an explicit allow-list; `bernstein doctor airgap` self-checks.
|
|
188
|
+
- **Per-artifact lineage trail** — every agent file write emits a signed record linking output (path + byte range + sha) to inputs, producer, prompt SHA, model, cost, tokens; schema v2 adds `regulatory_class` + customer-key Ed25519 signature for DORA/NIS2 evidence; tamper-loud detection in janitor with SIEM webhook + `bernstein lineage verify <run_id>`.
|
|
189
|
+
- **Lethal-trifecta capability matrix** — declarative tags (PRIVATE_DATA / UNTRUSTED_INPUT / EXTERNAL_COMM); spawn-time refusal of any agent whose tool chain unions all three; bypass-immune via `policy_engine.evaluate_lethal_trifecta`; phase-emit policies now ride the same matrix.
|
|
190
|
+
|
|
191
|
+
### Added — orchestration depth
|
|
192
|
+
|
|
193
|
+
- **CLM (Cyber Language Model) gateway adapter** — thin sovereign-LLM adapter wrapping `aider` against an OpenAI-compatible CLM gateway; tool-calling allowlist, streaming-assembly lineage, opt-in mTLS via Phase 2.5 launcher shim.
|
|
194
|
+
- **Phase pipeline** — discrete research/plan/implement/verify phase separation with distilled JSON handoffs; per-phase JSON-Schema validation registered as capability-matrix policy; R001-R005 mechanical exit gates (no-open-questions, decisions-reference-prior, acyclic graph, monotonic constraints, byte budget) with re-fire on violation; gate results land in lineage trail.
|
|
195
|
+
- **Action cache** — `core/persistence/action_cache.py` layered on the new `MemoStore` for deterministic replay; `bernstein cache action stats|replay <run_id>`.
|
|
196
|
+
- **Fingerprint memoization** — `hash(args) + hash(fn-AST)` keys; applied to cross-model verifier, knowledge-graph extractor, RAG embedder; the `test_changed_function_body_changes_key` regression closes the silent-stale-cache bug.
|
|
197
|
+
- **Rework-rate ledger** — file-backed `(model, effort, phase, outcome)` JSONL under `.sdd/runtime/rework/`; cascade router auto-promotes (e.g. `sonnet → opus`) once the bucket exceeds `promotion_threshold=0.30` with `min_samples=20`.
|
|
198
|
+
- **Best-of-N delegation** — opt-in parallel candidate spawning with judge-based selection; new `BEST_OF_N` defaults section; per-task `Task.best_of_n=K` override.
|
|
199
|
+
- **Swarm migration** — `bernstein migrate` map-reduce fanout over file globs; idempotent via `.sdd/runtime/swarm/<plan>.json`; 2 starter migration templates.
|
|
200
|
+
- **Discrete phase pipeline** — opt-in via `defaults.PHASE_PIPELINE.enabled` and per-step `phases:` field in plan YAML.
|
|
201
|
+
|
|
202
|
+
### Added — quality + planning
|
|
203
|
+
|
|
204
|
+
- **AST-aware reviewer chunking** — Python reviewer never receives a chunk that splits a function or class.
|
|
205
|
+
- **Abstracted code review** — intent + pseudocode summary on diffs; cheap-tier reviewer with opus disallowed; collapsible raw-diff blocks in PR body.
|
|
206
|
+
- **Schema-validation retry** — cross-step error accumulation with `SchemaRetryContext`; wired into manager parsing + MCP tool result decoding.
|
|
207
|
+
- **Spec-as-test loop** — generates executable assertions from the immutable feature contract; gates on drift.
|
|
208
|
+
- **Feature contract** — `.sdd/contract/features.json` with anchor over immutable fields + HMAC chain anchor; tampering surfaces `TamperingDetectedError`.
|
|
209
|
+
- **Incident-to-eval synthesis** — terminally-failed tasks become regression eval cases under `eval/incident_synthesizer.py`.
|
|
210
|
+
|
|
211
|
+
### Added — protocols + integrations
|
|
212
|
+
|
|
213
|
+
- **Tool-search lazy loading** — meta-tool with BM25 ranking keeps MCP tool descriptions out of context until invoked.
|
|
214
|
+
- **Static service manifest** — `/.well-known/agent.json` (A2A-compliant) + `/llms.txt` from a single dataclass-driven endpoint table.
|
|
215
|
+
- **Spawner SandboxSession routing** — non-worktree backends now exec through `SandboxSession.exec()` with per-session asyncio loop; worktree backend stays on the legacy direct-subprocess path.
|
|
216
|
+
- **Session handoff** — `bernstein handoff emit|claim|status`; `/handoff` chat slash-command + dashboard route; ring buffer for stream-tail replay.
|
|
217
|
+
- **Routine-scenario bridge** — bidirectional `RoutineProvisioner` + 8 scenario templates; `bernstein routine scenarios|export|provision|register|bindings`.
|
|
218
|
+
- **Agent-mode profiles** — declarative `templates/mode_profiles/{smart,deep,fast}.yaml`; deterministic family mapping (sonnet/opus → smart, haiku/qwen/ollama → fast, gpt-5*/o-series → deep).
|
|
219
|
+
- **cocoindex-code MCP catalog entry** — registered as opt-in (`mcp.catalog.cocoindex_code.enabled = false` by default).
|
|
220
|
+
|
|
221
|
+
### Changed
|
|
222
|
+
|
|
223
|
+
- **Model catalogue refresh** — added GPT-5.5 / GPT-5.5-mini to cost + cascade tables; refreshed top-7 adapter install commands (claude, codex, gemini, ollama, cursor, aider, opencode); `Last verified 2026-05-05` markers on every adapter docstring.
|
|
224
|
+
- **Default branch** — direct push to `main` is the convention everywhere; documentation + scripts updated to never reference `master`.
|
|
225
|
+
|
|
226
|
+
### Documentation
|
|
227
|
+
|
|
228
|
+
- Full doc audit covering every feature shipped this release; new pages under `docs/concepts/`, `docs/cluster/`, `docs/observability/`, `docs/compliance/`, `docs/sandbox/`, `docs/installation/`, `docs/adapters/`. Every feature page covers: one-line description, why, how-to, configuration knobs, limitations, related.
|
|
229
|
+
|
|
230
|
+
## [1.7.0] — 2026-04-14
|
|
231
|
+
|
|
232
|
+
### Added
|
|
233
|
+
- **Cloudflare integration platform** (twelve modules):
|
|
234
|
+
- Workers RuntimeBridge (`bridges/cloudflare.py`) — agent execution on Workers + Durable Objects
|
|
235
|
+
- Workflow Bridge (`bridges/cloudflare_workflow.py`) — durable multi-step workflows with auto-retry and approval gates
|
|
236
|
+
- Sandbox Bridge (`bridges/cloudflare_sandbox.py`) — V8 isolate and container sandboxes for isolated code execution
|
|
237
|
+
- Browser Rendering Bridge (`bridges/browser_rendering.py`) — headless web browsing, screenshots, scraping, PDF generation
|
|
238
|
+
- R2 Workspace Sync (`bridges/r2_sync.py`) — content-addressed delta file sync via Cloudflare R2
|
|
239
|
+
- Workers AI Provider (`core/routing/cloudflare_ai.py`) — free-tier LLM models (Llama 3.1, Mistral, Gemma, Qwen) for planning
|
|
240
|
+
- D1 Analytics Client (`core/cost/d1_analytics.py`) — usage metering, billing tiers (free/pro/team/enterprise), quota enforcement
|
|
241
|
+
- MCP Remote Transport (`mcp/remote_transport.py`) — streamable HTTP transport for remote MCP server access
|
|
242
|
+
- Cloud CLI (`cli/commands/cloud_cmd.py`) — `bernstein cloud` subcommands: login, logout, run, status, runs, cost, deploy
|
|
243
|
+
- Cloudflare Agents Adapter (`adapters/cloudflare_agents.py`) — spawn agents via `npx wrangler dev`
|
|
244
|
+
- Codex-on-Cloudflare Adapter (`adapters/codex_cloudflare.py`) — run Codex in Cloudflare sandboxes
|
|
245
|
+
- Full Cloudflare documentation: overview, setup, bridges, adapters, Workers AI, analytics, CLI, MCP remote (8 new doc pages)
|
|
246
|
+
|
|
247
|
+
## [1.4.11] — 2026-04-03
|
|
248
|
+
|
|
249
|
+
### Added
|
|
250
|
+
- **Bernstein doctor** — comprehensive pre-flight health check: adapters, API keys, ports, `.sdd/` integrity, MCP servers. Auto-repair mode with `--fix`.
|
|
251
|
+
- **Per-agent token progress** — real-time token usage tracking per spawned agent, surfaced in `bernstein status`.
|
|
252
|
+
- **Context injection token budget** — explicit budgets for injected context (files, lessons, RAG chunks) with graceful truncation and priority ordering.
|
|
253
|
+
- **Output style customization** — configurable agent output format via markdown templates.
|
|
254
|
+
- **Installation mismatch detection** — detects gaps between expected and installed adapter capabilities.
|
|
255
|
+
- **API preconnect warmup** — connection warmup before heavy runs to reduce first-request latency.
|
|
256
|
+
- **Worker badge identity** — process identification visible in `bernstein ps` and Activity Monitor.
|
|
257
|
+
- **TUI keybinding system** — configurable keyboard shortcuts in the Textual dashboard.
|
|
258
|
+
- **Progressive permission prompts** — per-agent permission levels for fine-grained control.
|
|
259
|
+
- **Activity tracking metrics** — session-level activity statistics and agent usage patterns.
|
|
260
|
+
- **Away summary generation** — summarize what happened while you were away.
|
|
261
|
+
- **Commit attribution stats** — per-agent commit statistics.
|
|
262
|
+
- **Session analytics** — cumulative insights across runs.
|
|
263
|
+
- **Settings snapshot in traces** — agent settings preserved in execution traces.
|
|
264
|
+
- **Side question support** — agents can ask clarifying questions mid-task.
|
|
265
|
+
- **Diff folding display** — folded diff rendering in agent output.
|
|
266
|
+
- **Word-level diff rendering** — character-level change highlighting.
|
|
267
|
+
- **Contextual tips system** — in-context hints for agents.
|
|
268
|
+
- **Session tag system** — tag and filter runs.
|
|
269
|
+
- **Rename session** — session renaming command.
|
|
270
|
+
- **Security review command** — `bernstein security-review` for vulnerability assessment.
|
|
271
|
+
- **Cumulative progress tracking** — progress tracking across runs.
|
|
272
|
+
- **Plugin trust warning** — warns on unverified plugins.
|
|
273
|
+
- **Plugin error reporting** — improved error diagnostics for plugin failures.
|
|
274
|
+
- **Extra usage provisioning** — additional usage quota management.
|
|
275
|
+
- **Truecolor mode detection** — automatic terminal color capability detection.
|
|
276
|
+
- **Dirty flag layout caching** — caching optimizations for dirty project detection.
|
|
277
|
+
- **Release notes display** — show release notes on startup.
|
|
278
|
+
|
|
279
|
+
### Fixed
|
|
280
|
+
- Context warnings in `bernstein doctor` output for better diagnostics.
|
|
281
|
+
- Circuit breaker for repeated compact failures — prevents agent thrashing.
|
|
282
|
+
|
|
283
|
+
### Changed
|
|
284
|
+
- Documentation overhaul: README, GETTING_STARTED, ARCHITECTURE, FEATURE_MATRIX, BENCHMARKS, CHANGELOG, CONTRIBUTING all rewritten against v1.4.11 codebase.
|
|
285
|
+
|
|
286
|
+
## [1.4.9] — 2026-04-01
|
|
287
|
+
|
|
288
|
+
### Added
|
|
289
|
+
- Process-aware shutdown/drain improvements across CLI and core lifecycle paths.
|
|
290
|
+
- Cost analytics enhancements (additional endpoints/aggregation work and routing transparency updates).
|
|
291
|
+
- Security enhancements including sensitivity-classification and IP-allowlist related hardening.
|
|
292
|
+
- TUI keyboard help (`?`) shortcut support.
|
|
293
|
+
|
|
294
|
+
### Changed
|
|
295
|
+
- Issue triage and documentation alignment pass so docs match shipped behaviour.
|
|
296
|
+
- Retry, lifecycle, and observability narratives updated to better reflect current implementation boundaries.
|
|
297
|
+
|
|
298
|
+
## [1.4.0] — 2026-03-31
|
|
299
|
+
|
|
300
|
+
### Added
|
|
301
|
+
- **Plan Files**: loadable YAML project plans with stages and steps (`bernstein run plan.yaml`)
|
|
302
|
+
- **Server Supervisor**: auto-restart on crash with exponential backoff (max 5 restarts / 10 min)
|
|
303
|
+
- **CrashGuard Middleware**: catches unhandled exceptions → 500 instead of process death
|
|
304
|
+
- **Orchestrator drain mode**: loop continues while agents are active, even after stop signal
|
|
305
|
+
- **Quality gates**: PII scan, mutation testing, benchmark regression detection
|
|
306
|
+
- **Gate Runner**: parallel execution of all quality gates (asyncio)
|
|
307
|
+
- **Benchmark regression gate**: block merge when performance degrades beyond threshold
|
|
308
|
+
- **PII log redaction**: auto-installed filter scrubs emails, phones, SSNs, credit cards from all log output
|
|
309
|
+
- **Agent loop detection**: kills agents caught in edit-loop cycles (same file edited N+ times in window)
|
|
310
|
+
- **Deadlock detection**: wait-for graph cycle detection with automatic victim selection
|
|
311
|
+
- **Cost anomaly detection**: Z-score based cost anomaly signaling with configurable thresholds
|
|
312
|
+
- **Per-agent file/command permissions**: role-based matrix restricting which files and commands each role may use
|
|
313
|
+
- **Premium visual theme**: CRT power-off effects, gradient splash, block-art logo
|
|
314
|
+
- **Live boot log**: orchestrator boot progress shown in Agents panel while no agents spawned
|
|
315
|
+
- **Persistent memory**: SQLite-backed cross-session agent memory
|
|
316
|
+
- **Context handoff**: structured context briefs for subtask delegation
|
|
317
|
+
- **Zero-config mode**: auto-detect project type, no bernstein.yaml required
|
|
318
|
+
- **Worktree environment hooks**: auto-symlink node_modules, copy .env
|
|
319
|
+
- **FIFO merge queue**: sequential merge with git merge-tree conflict pre-check
|
|
320
|
+
- **Ticket Format v1**: YAML frontmatter with model routing, janitor signals, tags
|
|
321
|
+
- **10 adapters**: Claude, Codex, Cursor, Gemini, Kiro, OpenCode, Aider, Amp, Roo Code, Generic
|
|
322
|
+
- **Futuristic splash screen**: full-screen animated boot sequence
|
|
323
|
+
- **Plan display**: mission-briefing style execution plan approval
|
|
324
|
+
- **test_cli_run_params.py**: catches cli() → run() parameter sync bugs
|
|
325
|
+
|
|
326
|
+
### Fixed
|
|
327
|
+
- Manager always uses opus/max (was falling back to haiku via fast_path)
|
|
328
|
+
- Orchestrator no longer exits while agents still running
|
|
329
|
+
- Server failure backoff: 5s per failure instead of constant polling
|
|
330
|
+
- Startup crash: missing pii_scan fields in QualityGatesConfig
|
|
331
|
+
- .yaml/.md backward compatibility in all backlog parsers
|
|
332
|
+
|
|
333
|
+
### Changed
|
|
334
|
+
- Ticket format migrated from .md to .yaml (YAML frontmatter)
|
|
335
|
+
- Version bump 1.3.x → 1.4.0
|
|
336
|
+
|
|
337
|
+
## [1.0.3] — 2026-03-30
|
|
338
|
+
|
|
339
|
+
### Added
|
|
340
|
+
- State-of-the-art CI/CD pipeline: 11 new GitHub Actions workflows
|
|
341
|
+
- Three-tier AI PR review (GitHub Models + Gemini CLI + Bernstein deep review)
|
|
342
|
+
- Semgrep SAST, license compliance, spelling, dead code analysis, workflow linting
|
|
343
|
+
- PR auto-labeling, size warnings, stale cleanup, Dependabot auto-merge
|
|
344
|
+
- Release Drafter for automated changelog generation
|
|
345
|
+
- Telegram bot notifications on CI completion
|
|
346
|
+
- Codecov coverage gating (85% project / 70% patch)
|
|
347
|
+
- Concurrency groups on all workflows with cancel-in-progress
|
|
348
|
+
- CI and Codecov badges in README
|
|
349
|
+
|
|
350
|
+
### Changed
|
|
351
|
+
- FEATURE_MATRIX updated with CI/CD section (15 new entries)
|
|
352
|
+
- GETTING_STARTED expanded with CI pipeline documentation
|
|
353
|
+
- Manual backlog index updated with all setup tickets and status tracking
|
|
354
|
+
|
|
355
|
+
## [1.0.2] — 2026-03-28
|
|
356
|
+
|
|
357
|
+
### Changed
|
|
358
|
+
- Documentation audit: updated outdated model names, CLI references, API endpoints, and GitHub Action version tags
|
|
359
|
+
- Default branch references updated from `master` to `main` across all docs
|
|
360
|
+
|
|
361
|
+
## [1.0.0] — 2026-03-28
|
|
362
|
+
|
|
363
|
+
### Added
|
|
364
|
+
- ACP (Agent Communication Protocol) endpoints for agent interoperability
|
|
365
|
+
- A2A (Agent-to-Agent) protocol support
|
|
366
|
+
- Cluster mode with multi-node coordination (node registration, heartbeat, status)
|
|
367
|
+
- Auth routes: OIDC, SAML, CLI device flow, group mappings, user management
|
|
368
|
+
- Graduation system for agent promotion based on performance
|
|
369
|
+
- Plans routes for plan listing, approval, and rejection
|
|
370
|
+
- Slack integration (slash commands and events)
|
|
371
|
+
- Quality dashboard with per-model quality metrics
|
|
372
|
+
- Cost history, live cost tracking, and cost alerts endpoints
|
|
373
|
+
- File lock tracking via dashboard routes
|
|
374
|
+
- Task prioritization, force-claim, and progress reporting endpoints
|
|
375
|
+
- Chaos testing CLI group
|
|
376
|
+
- Audit CLI group
|
|
377
|
+
- Verify CLI command
|
|
378
|
+
|
|
379
|
+
### Changed
|
|
380
|
+
- Version bumped to 1.0.0 (stable release)
|
|
381
|
+
- Route modules expanded: acp.py, auth.py, graduation.py, plans.py, slack.py added to core/routes/
|
|
382
|
+
|
|
383
|
+
## [0.3.0] — 2026-03-28
|
|
384
|
+
|
|
385
|
+
### Added
|
|
386
|
+
- Checkpoint and wrap-up CLI commands for session management
|
|
387
|
+
- Task snapshots endpoint for viewing task state history
|
|
388
|
+
- Webhook alerts endpoint
|
|
389
|
+
- SSE event stream at `/events` for real-time dashboard updates
|
|
390
|
+
- Prometheus `/metrics` endpoint for observability
|
|
391
|
+
- Bandit-based model routing stats at `/routing/bandit`
|
|
392
|
+
- Cache stats endpoint at `/cache-stats`
|
|
393
|
+
|
|
394
|
+
### Changed
|
|
395
|
+
- CLI decomposed further: audit_cmd.py, chaos_cmd.py, checkpoint_cmd.py, verify_cmd.py, wrap_up_cmd.py
|
|
396
|
+
- Task server routes expanded with block, progress, and prioritize actions
|
|
397
|
+
|
|
398
|
+
## [0.2.0] — 2026-03-28
|
|
399
|
+
|
|
400
|
+
### Added
|
|
401
|
+
- Agent discovery system with multi-provider routing (`cli: auto`)
|
|
402
|
+
- Quality gates for task verification
|
|
403
|
+
- Rule enforcement engine
|
|
404
|
+
- Token monitor for real-time usage tracking
|
|
405
|
+
- Approval gates for high-risk operations
|
|
406
|
+
- MCP server integration
|
|
407
|
+
- Hot reload for configuration changes
|
|
408
|
+
- Aider, Amp, and Roo Code adapters
|
|
409
|
+
- Adapter manager and caching adapter layer
|
|
410
|
+
- Environment isolation for adapter processes
|
|
411
|
+
- Web dashboard with real-time SSE updates
|
|
412
|
+
- Workspace management for multi-repo orchestration
|
|
413
|
+
- GitHub App integration for webhook-driven tasks
|
|
414
|
+
- Auth middleware and checkpoint commands
|
|
415
|
+
- Delegate, trigger, and wrap-up CLI commands
|
|
416
|
+
|
|
417
|
+
### Changed
|
|
418
|
+
- Default CLI adapter is now `auto` (detects installed agents) instead of `claude`
|
|
419
|
+
- Test count badge updated: 2500+ to 4250+ (142 test files, 4257 test functions)
|
|
420
|
+
- Server decomposed into `core/routes/` (tasks.py, status.py, webhooks.py, costs.py, agents.py, auth.py, dashboard.py, plans.py, quality.py, graduation.py, slack.py)
|
|
421
|
+
- Orchestrator decomposed into tick_pipeline.py, task_lifecycle.py, agent_lifecycle.py
|
|
422
|
+
- CLI decomposed into helpers.py, run_cmd.py, stop_cmd.py, status_cmd.py, agents_cmd.py, evolve_cmd.py, advanced_cmd.py, and more
|
|
423
|
+
- TaskStore extracted to task_store.py with PostgreSQL and Redis backends
|
|
424
|
+
- `bernstein catalog` commands renamed to `bernstein agents` (sync, list, validate)
|
|
425
|
+
- Adapter listing in DESIGN.md updated to include all current adapters (removed stale kiro.py)
|
|
426
|
+
- Example YAML files updated: `cli: claude` changed to `cli: auto`
|
|
427
|
+
- All documentation references to `bernstein catalog` updated to `bernstein agents`
|
|
428
|
+
- Removed stale "(default)" label from Claude adapter docs (default is now `auto`)
|
|
429
|
+
|
|
430
|
+
## [0.1.0] — 2026-03-28
|
|
431
|
+
|
|
432
|
+
### Added
|
|
433
|
+
- License: Apache 2.0
|
|
434
|
+
- Per-run cost budgeting (`--budget 5.00`) with threshold warnings
|
|
435
|
+
- CI auto-fix pipeline with GitHub Actions log parser
|
|
436
|
+
- GitHub Action (`action.yml`) for CI-triggered orchestration
|
|
437
|
+
- MCP tool access — agents use MCP servers (stdio/SSE)
|
|
438
|
+
- TUI session manager (`bernstein live`) with Textual
|
|
439
|
+
- "The Bernstein Way" architecture tenets document
|
|
440
|
+
- Quickstart demo (`examples/quickstart/`)
|
|
441
|
+
- Comparison pages (`docs/compare/`)
|
|
442
|
+
- GitHub Action documentation (`docs/github-action.md`)
|
|
443
|
+
- Feature cards for cost budgeting, GitHub Action, MCP on index page
|
|
444
|
+
- `docs/competitive-matrix.md` — feature comparison vs CrewAI, AutoGen, LangGraph, etc.
|
|
445
|
+
- `docs/zero-lock-in.md` — model-agnostic architecture deep dive
|
|
446
|
+
- `docs/CHANGELOG.md` — this file
|
|
447
|
+
- `docs/VERSION` — documentation version tracking
|
|
448
|
+
|
|
449
|
+
### Changed
|
|
450
|
+
- All license references updated to Apache 2.0 across all HTML and markdown docs
|
|
451
|
+
- README: quickstart section with full install → init → run flow
|
|
452
|
+
- README: test count badge, license badge, benchmark badge
|
|
453
|
+
- Getting Started: fixed test command to use isolated runner
|
|
454
|
+
- Comparison table: added cost budgeting and GitHub Action rows
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Stage 1: build
|
|
2
|
+
# python:3.13-slim
|
|
3
|
+
FROM python:3.13-slim@sha256:9ca3cf9a53a4087afa82efa7cfae3c9d96858a0f9a72ef7acb0119848708d87e AS build
|
|
4
|
+
|
|
5
|
+
WORKDIR /app
|
|
6
|
+
COPY . /app
|
|
7
|
+
|
|
8
|
+
RUN pip install --no-cache-dir hatchling==1.29.0 && \
|
|
9
|
+
python -m hatchling build
|
|
10
|
+
|
|
11
|
+
# Stage 2: runtime
|
|
12
|
+
# python:3.13-slim
|
|
13
|
+
FROM python:3.13-slim@sha256:9ca3cf9a53a4087afa82efa7cfae3c9d96858a0f9a72ef7acb0119848708d87e
|
|
14
|
+
|
|
15
|
+
LABEL org.opencontainers.image.title="bernstein" \
|
|
16
|
+
org.opencontainers.image.description="Declarative agent orchestration for engineering teams" \
|
|
17
|
+
org.opencontainers.image.source="https://github.com/bernstein-ai/bernstein"
|
|
18
|
+
|
|
19
|
+
# Install git (required for git_ops) and curl (healthcheck)
|
|
20
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
21
|
+
git \
|
|
22
|
+
curl \
|
|
23
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
24
|
+
|
|
25
|
+
WORKDIR /workspace
|
|
26
|
+
|
|
27
|
+
COPY --from=build /app/dist/*.whl /tmp/
|
|
28
|
+
|
|
29
|
+
RUN pip install --no-cache-dir /tmp/*.whl && rm /tmp/*.whl && \
|
|
30
|
+
useradd -m -u 1000 bernstein && chown bernstein:bernstein /workspace
|
|
31
|
+
USER bernstein
|
|
32
|
+
|
|
33
|
+
# Bernstein state directory (mount a volume here for persistence)
|
|
34
|
+
VOLUME ["/workspace/.sdd"]
|
|
35
|
+
|
|
36
|
+
# Task server HTTP + gRPC ports
|
|
37
|
+
EXPOSE 8052 50051
|
|
38
|
+
|
|
39
|
+
# Probe the task server health endpoint. Override via docker-compose / Helm for
|
|
40
|
+
# components that do not expose HTTP (e.g. worker-only deployments) by passing
|
|
41
|
+
# `--health-cmd=NONE` or replacing this with the component-specific check.
|
|
42
|
+
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s --retries=3 \
|
|
43
|
+
CMD curl --fail --silent --show-error http://127.0.0.1:8052/health || exit 1
|
|
44
|
+
|
|
45
|
+
# Default: all-in-one mode (reads bernstein.yaml, starts server + agents)
|
|
46
|
+
# Override CMD in docker-compose / Helm to run individual components:
|
|
47
|
+
# Server only: python -m uvicorn bernstein.core.server:app --host 0.0.0.0 --port 8052
|
|
48
|
+
# Orchestrator: python -m bernstein.core.orchestrator
|
|
49
|
+
ENTRYPOINT ["bernstein"]
|
|
50
|
+
CMD ["conduct"]
|