agent-lifecycle-kit 2.6.0__tar.gz → 2.7.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.
- {agent_lifecycle_kit-2.6.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.7.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/README.md +2 -2
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/implementation.py +12 -12
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_observability.py +41 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/metrics_parser.py +7 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +105 -4
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +47 -1
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +2 -6
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +2 -1
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/contracts/review_round_schemas.py +427 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_verdict.py +52 -11
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/schemas.py +2 -0
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +479 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/freeze/package_integrity.py +2 -7
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/__init__.py +14 -10
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/metrics/audit_efficiency.py +455 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/audit_optimization.py +163 -44
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/audit_samples.py +208 -29
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/completeness.py +30 -9
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/manifest_contract.py +12 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review/validation.py +2 -7
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/results.py +47 -15
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/review_mesh/synthesis.py +292 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/completion_gate.py +45 -21
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/finalization.py +2 -7
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/reviews.py +2 -8
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +3 -0
- agent_lifecycle_kit-2.6.0/src/agent_lifecycle/review_mesh/synthesis.py +0 -102
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.6.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.7.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-lifecycle-kit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.7.0
|
|
4
4
|
Summary: Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion.
|
|
5
5
|
Author: Agent Lifecycle Kit contributors
|
|
6
6
|
License: Apache-2.0
|
|
@@ -43,7 +43,7 @@ ALK provides a verifiable finish for external-agent work with proportionate cont
|
|
|
43
43
|
## Quick start
|
|
44
44
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md).
|
|
45
45
|
|
|
46
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
46
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.7.0`, and common `agent-lifecycle version` errors.
|
|
47
47
|
|
|
48
48
|
For a quick start, run:
|
|
49
49
|
|
|
@@ -196,7 +196,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
|
|
|
196
196
|
- Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
|
|
197
197
|
- Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
198
198
|
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Bounded external tool jobs](docs/reference/external-tool-jobs.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
199
|
-
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
199
|
+
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [review efficiency](docs/reference/review-efficiency.md), [evidence independence](docs/reference/evidence-independence.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
200
200
|
- Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
|
|
201
201
|
- Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
|
|
202
202
|
Apache-2.0. See [LICENSE](LICENSE).
|
|
@@ -21,7 +21,7 @@ ALK provides a verifiable finish for external-agent work with proportionate cont
|
|
|
21
21
|
## Quick start
|
|
22
22
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md).
|
|
23
23
|
|
|
24
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
24
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.7.0`, and common `agent-lifecycle version` errors.
|
|
25
25
|
|
|
26
26
|
For a quick start, run:
|
|
27
27
|
|
|
@@ -174,7 +174,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
|
|
|
174
174
|
- Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
|
|
175
175
|
- Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
176
176
|
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Bounded external tool jobs](docs/reference/external-tool-jobs.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
177
|
-
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
177
|
+
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [review efficiency](docs/reference/review-efficiency.md), [evidence independence](docs/reference/evidence-independence.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
178
178
|
- Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
|
|
179
179
|
- Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
|
|
180
180
|
Apache-2.0. See [LICENSE](LICENSE).
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agent-lifecycle-kit"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.7.0"
|
|
8
8
|
description = "Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.15"
|
{agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/implementation.py
RENAMED
|
@@ -8,6 +8,11 @@ from typing import Any
|
|
|
8
8
|
from agent_lifecycle.audit.ownership import build_ownership_report, report_has_category
|
|
9
9
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object
|
|
10
10
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
11
|
+
from agent_lifecycle.contracts.review_verdict import (
|
|
12
|
+
BLOCKING_REVIEW_SEVERITIES,
|
|
13
|
+
REVIEW_SEVERITY_RANK,
|
|
14
|
+
open_blocking_finding_ids,
|
|
15
|
+
)
|
|
11
16
|
from agent_lifecycle.planning.task_compatibility import (
|
|
12
17
|
validate_task_plan_compatibility_receipt,
|
|
13
18
|
)
|
|
@@ -22,7 +27,6 @@ from agent_lifecycle.workflow.sandbox_policy import validate_task_sandbox_eviden
|
|
|
22
27
|
from agent_lifecycle.workflow.selectors import find_task
|
|
23
28
|
from agent_lifecycle.workflow.state import load_state
|
|
24
29
|
|
|
25
|
-
SEVERITY_RANK = {"BLOCKER": 0, "HIGH": 1, "MEDIUM": 2, "LOW": 3, "INFO": 4}
|
|
26
30
|
IMPLEMENTATION_AUDIT_SCHEMA = "agent-implementation-audit-report.v1"
|
|
27
31
|
FINAL_IMPLEMENTATION_AUDIT_SCHEMA = "agent-final-implementation-audit.v1"
|
|
28
32
|
|
|
@@ -609,14 +613,7 @@ def _has_blockers(payload: dict[str, Any]) -> bool:
|
|
|
609
613
|
|
|
610
614
|
def _has_open_blocking_findings(payload: dict[str, Any]) -> bool:
|
|
611
615
|
findings = payload.get("findings")
|
|
612
|
-
|
|
613
|
-
return False
|
|
614
|
-
return any(
|
|
615
|
-
isinstance(item, dict)
|
|
616
|
-
and item.get("status") == "open"
|
|
617
|
-
and item.get("severity") in {"BLOCKER", "HIGH", "MEDIUM"}
|
|
618
|
-
for item in findings
|
|
619
|
-
)
|
|
616
|
+
return isinstance(findings, list) and bool(open_blocking_finding_ids(findings))
|
|
620
617
|
|
|
621
618
|
|
|
622
619
|
def _add_finding(
|
|
@@ -639,12 +636,15 @@ def _add_finding(
|
|
|
639
636
|
"context": context or {},
|
|
640
637
|
}
|
|
641
638
|
findings.append(finding)
|
|
642
|
-
if severity in
|
|
639
|
+
if severity in BLOCKING_REVIEW_SEVERITIES:
|
|
643
640
|
blockers.append({"code": code, "severity": severity, "message": message, "context": context or {}})
|
|
644
641
|
|
|
645
642
|
|
|
646
643
|
def _sorted_findings(findings: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
|
647
|
-
return sorted(
|
|
644
|
+
return sorted(
|
|
645
|
+
findings,
|
|
646
|
+
key=lambda item: (REVIEW_SEVERITY_RANK.get(str(item.get("severity")), 99), str(item.get("code"))),
|
|
647
|
+
)
|
|
648
648
|
|
|
649
649
|
|
|
650
650
|
def _verdict(findings: list[dict[str, Any]]) -> str:
|
|
@@ -652,7 +652,7 @@ def _verdict(findings: list[dict[str, Any]]) -> str:
|
|
|
652
652
|
return "BLOCKED"
|
|
653
653
|
if any(item.get("category") == "ownership" for item in findings):
|
|
654
654
|
return "CONTRACT_CHANGE"
|
|
655
|
-
if any(item.get("severity") in
|
|
655
|
+
if any(item.get("severity") in BLOCKING_REVIEW_SEVERITIES for item in findings):
|
|
656
656
|
return "REWORK"
|
|
657
657
|
return "ACCEPTED"
|
|
658
658
|
|
|
@@ -57,6 +57,11 @@ from agent_lifecycle.metrics import (
|
|
|
57
57
|
validate_release_accounting,
|
|
58
58
|
validate_usage_export,
|
|
59
59
|
)
|
|
60
|
+
from agent_lifecycle.metrics.audit_efficiency import (
|
|
61
|
+
build_audit_efficiency_report,
|
|
62
|
+
validate_audit_efficiency_input,
|
|
63
|
+
validate_audit_efficiency_report,
|
|
64
|
+
)
|
|
60
65
|
from agent_lifecycle.metrics.audit_optimization import (
|
|
61
66
|
build_audit_optimization_report,
|
|
62
67
|
render_audit_optimization_terminal,
|
|
@@ -581,6 +586,8 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
581
586
|
return payload
|
|
582
587
|
if args.metrics_command == "audit-report":
|
|
583
588
|
return _dispatch_audit_report(args)
|
|
589
|
+
if args.metrics_command == "audit-efficiency":
|
|
590
|
+
return _dispatch_audit_efficiency(args)
|
|
584
591
|
if args.metrics_command == "audit-proposal":
|
|
585
592
|
report = read_json_object(Path(args.report), label="audit optimization report")
|
|
586
593
|
raw_recommendation = report.get("recommendation")
|
|
@@ -698,6 +705,40 @@ def _dispatch_audit_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
698
705
|
return report
|
|
699
706
|
|
|
700
707
|
|
|
708
|
+
def _dispatch_audit_efficiency(args: argparse.Namespace) -> dict[str, Any]:
|
|
709
|
+
measurement = read_json_object(Path(args.input), label="audit efficiency input")
|
|
710
|
+
validation = validate_audit_efficiency_input(measurement)
|
|
711
|
+
if validation["status"] != "PASS":
|
|
712
|
+
raise LifecycleError(
|
|
713
|
+
"audit-efficiency-input-invalid",
|
|
714
|
+
"audit efficiency input validation failed",
|
|
715
|
+
{"validation": validation},
|
|
716
|
+
)
|
|
717
|
+
|
|
718
|
+
comparisons: list[dict[str, Any]] = []
|
|
719
|
+
for index, path in enumerate(args.comparison):
|
|
720
|
+
comparison = read_json_object(Path(path), label="audit efficiency comparison")
|
|
721
|
+
comparison_validation = validate_audit_efficiency_input(comparison)
|
|
722
|
+
if comparison_validation["status"] != "PASS":
|
|
723
|
+
raise LifecycleError(
|
|
724
|
+
"audit-efficiency-comparison-invalid",
|
|
725
|
+
"audit efficiency comparison validation failed",
|
|
726
|
+
{"index": index, "validation": comparison_validation},
|
|
727
|
+
)
|
|
728
|
+
comparisons.append(comparison)
|
|
729
|
+
|
|
730
|
+
report = build_audit_efficiency_report(measurement, comparison_measurements=comparisons)
|
|
731
|
+
report_validation = validate_audit_efficiency_report(report)
|
|
732
|
+
if report_validation["status"] != "PASS":
|
|
733
|
+
raise LifecycleError(
|
|
734
|
+
"audit-efficiency-report-invalid",
|
|
735
|
+
"audit efficiency report validation failed",
|
|
736
|
+
{"validation": report_validation},
|
|
737
|
+
)
|
|
738
|
+
write_json_create(Path(args.out), report)
|
|
739
|
+
return report
|
|
740
|
+
|
|
741
|
+
|
|
701
742
|
def _read_audit_samples(paths: list[str]) -> list[dict[str, Any]]:
|
|
702
743
|
samples: list[dict[str, Any]] = []
|
|
703
744
|
for item in paths:
|
{agent_lifecycle_kit-2.6.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/metrics_parser.py
RENAMED
|
@@ -77,6 +77,13 @@ def add_metrics_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
77
77
|
audit_report.add_argument("--current-profile")
|
|
78
78
|
audit_report.add_argument("--out", required=True)
|
|
79
79
|
audit_report.add_argument("--terminal", action="store_true")
|
|
80
|
+
audit_efficiency = metrics_sub.add_parser(
|
|
81
|
+
"audit-efficiency",
|
|
82
|
+
help="report quality-preserving audit efficiency from explicit accounting inputs",
|
|
83
|
+
)
|
|
84
|
+
audit_efficiency.add_argument("--input", required=True)
|
|
85
|
+
audit_efficiency.add_argument("--comparison", action="append", default=[])
|
|
86
|
+
audit_efficiency.add_argument("--out", required=True)
|
|
80
87
|
audit_proposal = metrics_sub.add_parser("audit-proposal", help="create an explicit audit optimization proposal")
|
|
81
88
|
audit_proposal.add_argument("--report", required=True)
|
|
82
89
|
audit_proposal.add_argument("--out", required=True)
|
|
@@ -14,9 +14,69 @@ AUDIT_OPTIMIZATION_REPORT_SCHEMA = "agent-audit-optimization-report.v1"
|
|
|
14
14
|
AUDIT_OPTIMIZATION_PROPOSAL_SCHEMA = "agent-audit-optimization-proposal.v1"
|
|
15
15
|
AUDIT_OPTIMIZATION_APPLIED_PROFILE_SCHEMA = "agent-audit-optimization-applied-profile.v1"
|
|
16
16
|
AUDIT_OPTIMIZATION_APPLY_RESULT_SCHEMA = "agent-audit-optimization-apply-result.v1"
|
|
17
|
+
AUDIT_EFFICIENCY_INPUT_SCHEMA = "agent-audit-efficiency-input.v1"
|
|
18
|
+
AUDIT_EFFICIENCY_REPORT_SCHEMA = "agent-audit-efficiency-report.v1"
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
22
|
+
AUDIT_EFFICIENCY_INPUT_SCHEMA: open_object_schema(
|
|
23
|
+
AUDIT_EFFICIENCY_INPUT_SCHEMA,
|
|
24
|
+
required=[
|
|
25
|
+
"schemaVersion",
|
|
26
|
+
"releaseId",
|
|
27
|
+
"sourceRevision",
|
|
28
|
+
"sourceLineageDigest",
|
|
29
|
+
"qualityFloor",
|
|
30
|
+
"views",
|
|
31
|
+
"outcomes",
|
|
32
|
+
"totals",
|
|
33
|
+
"productionPromotionClaimed",
|
|
34
|
+
"inputDigest",
|
|
35
|
+
],
|
|
36
|
+
properties={
|
|
37
|
+
"releaseId": {"type": "string", "minLength": 1},
|
|
38
|
+
"sourceRevision": {"type": "string", "minLength": 1},
|
|
39
|
+
"sourceLineageDigest": {"type": "string", "minLength": 64, "maxLength": 64},
|
|
40
|
+
"qualityFloor": {"type": "string", "minLength": 1},
|
|
41
|
+
"views": {"type": "object"},
|
|
42
|
+
"outcomes": {"type": "object"},
|
|
43
|
+
"totals": {"type": "object"},
|
|
44
|
+
"productionPromotionClaimed": {"const": False},
|
|
45
|
+
"inputDigest": {"type": "string", "minLength": 64, "maxLength": 64},
|
|
46
|
+
},
|
|
47
|
+
),
|
|
48
|
+
AUDIT_EFFICIENCY_REPORT_SCHEMA: open_object_schema(
|
|
49
|
+
AUDIT_EFFICIENCY_REPORT_SCHEMA,
|
|
50
|
+
required=[
|
|
51
|
+
"schemaVersion",
|
|
52
|
+
"status",
|
|
53
|
+
"releaseId",
|
|
54
|
+
"qualityFloor",
|
|
55
|
+
"qualityFloorPreserved",
|
|
56
|
+
"metrics",
|
|
57
|
+
"comparison",
|
|
58
|
+
"advisoryOnly",
|
|
59
|
+
"autoApply",
|
|
60
|
+
"blockers",
|
|
61
|
+
"inputDigest",
|
|
62
|
+
"productionPromotionClaimed",
|
|
63
|
+
"reportDigest",
|
|
64
|
+
],
|
|
65
|
+
properties={
|
|
66
|
+
"status": {"enum": ["PASS", "NO_COMPARISON", "FAIL"]},
|
|
67
|
+
"releaseId": {"type": ["string", "null"]},
|
|
68
|
+
"qualityFloor": {"type": ["string", "null"]},
|
|
69
|
+
"qualityFloorPreserved": {"const": True},
|
|
70
|
+
"metrics": {"type": "object"},
|
|
71
|
+
"comparison": {"type": "object"},
|
|
72
|
+
"advisoryOnly": {"const": True},
|
|
73
|
+
"autoApply": {"const": False},
|
|
74
|
+
"blockers": {"type": "array", "items": {"type": "object"}},
|
|
75
|
+
"inputDigest": {"type": ["string", "null"]},
|
|
76
|
+
"productionPromotionClaimed": {"const": False},
|
|
77
|
+
"reportDigest": {"type": "string", "minLength": 64, "maxLength": 64},
|
|
78
|
+
},
|
|
79
|
+
),
|
|
20
80
|
AUDIT_OPTIMIZATION_SAMPLE_SCHEMA: open_object_schema(
|
|
21
81
|
AUDIT_OPTIMIZATION_SAMPLE_SCHEMA,
|
|
22
82
|
required=[
|
|
@@ -42,6 +102,7 @@ AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
42
102
|
properties={
|
|
43
103
|
"sampleId": {"type": "string", "minLength": 1},
|
|
44
104
|
"lineage": {"type": "object"},
|
|
105
|
+
"statisticalProvenance": {"type": "object"},
|
|
45
106
|
"request": {"type": "object"},
|
|
46
107
|
"review": {"type": "object"},
|
|
47
108
|
"attempts": {"type": "object"},
|
|
@@ -61,7 +122,16 @@ AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
61
122
|
),
|
|
62
123
|
AUDIT_OPTIMIZATION_SAMPLE_BATCH_SCHEMA: open_object_schema(
|
|
63
124
|
AUDIT_OPTIMIZATION_SAMPLE_BATCH_SCHEMA,
|
|
64
|
-
required=[
|
|
125
|
+
required=[
|
|
126
|
+
"schemaVersion",
|
|
127
|
+
"status",
|
|
128
|
+
"sampleCount",
|
|
129
|
+
"samples",
|
|
130
|
+
"sourceCount",
|
|
131
|
+
"blockers",
|
|
132
|
+
"productionPromotionClaimed",
|
|
133
|
+
"batchDigest",
|
|
134
|
+
],
|
|
65
135
|
properties={
|
|
66
136
|
"status": {"enum": ["PASS", "FAIL"]},
|
|
67
137
|
"sampleCount": {"type": "integer", "minimum": 0},
|
|
@@ -74,7 +144,16 @@ AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
74
144
|
),
|
|
75
145
|
AUDIT_OPTIMIZATION_STATISTICS_SCHEMA: open_object_schema(
|
|
76
146
|
AUDIT_OPTIMIZATION_STATISTICS_SCHEMA,
|
|
77
|
-
required=[
|
|
147
|
+
required=[
|
|
148
|
+
"schemaVersion",
|
|
149
|
+
"status",
|
|
150
|
+
"sampleCount",
|
|
151
|
+
"confidence",
|
|
152
|
+
"minimumSample",
|
|
153
|
+
"signals",
|
|
154
|
+
"blockers",
|
|
155
|
+
"statisticsDigest",
|
|
156
|
+
],
|
|
78
157
|
properties={
|
|
79
158
|
"status": {"enum": ["PASS", "NO_RECOMMENDATION", "FAIL"]},
|
|
80
159
|
"sampleCount": {"type": "integer", "minimum": 0},
|
|
@@ -121,7 +200,16 @@ AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
121
200
|
),
|
|
122
201
|
AUDIT_OPTIMIZATION_REPORT_SCHEMA: open_object_schema(
|
|
123
202
|
AUDIT_OPTIMIZATION_REPORT_SCHEMA,
|
|
124
|
-
required=[
|
|
203
|
+
required=[
|
|
204
|
+
"schemaVersion",
|
|
205
|
+
"status",
|
|
206
|
+
"statistics",
|
|
207
|
+
"evaluation",
|
|
208
|
+
"recommendation",
|
|
209
|
+
"nextAction",
|
|
210
|
+
"productionPromotionClaimed",
|
|
211
|
+
"reportDigest",
|
|
212
|
+
],
|
|
125
213
|
properties={
|
|
126
214
|
"status": {"enum": ["PASS", "NO_RECOMMENDATION", "FAIL"]},
|
|
127
215
|
"statistics": {"type": "object"},
|
|
@@ -134,7 +222,18 @@ AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
134
222
|
),
|
|
135
223
|
AUDIT_OPTIMIZATION_PROPOSAL_SCHEMA: open_object_schema(
|
|
136
224
|
AUDIT_OPTIMIZATION_PROPOSAL_SCHEMA,
|
|
137
|
-
required=[
|
|
225
|
+
required=[
|
|
226
|
+
"schemaVersion",
|
|
227
|
+
"status",
|
|
228
|
+
"proposalId",
|
|
229
|
+
"sourceRecommendationDigest",
|
|
230
|
+
"approvalRequired",
|
|
231
|
+
"applyAllowed",
|
|
232
|
+
"candidateChanges",
|
|
233
|
+
"rollback",
|
|
234
|
+
"productionPromotionClaimed",
|
|
235
|
+
"proposalDigest",
|
|
236
|
+
],
|
|
138
237
|
properties={
|
|
139
238
|
"status": {"enum": ["PASS", "FAIL"]},
|
|
140
239
|
"proposalId": {"type": "string", "minLength": 1},
|
|
@@ -201,6 +300,8 @@ AUDIT_OPTIMIZATION_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
201
300
|
|
|
202
301
|
|
|
203
302
|
__all__ = [
|
|
303
|
+
"AUDIT_EFFICIENCY_INPUT_SCHEMA",
|
|
304
|
+
"AUDIT_EFFICIENCY_REPORT_SCHEMA",
|
|
204
305
|
"AUDIT_OPTIMIZATION_APPLIED_PROFILE_SCHEMA",
|
|
205
306
|
"AUDIT_OPTIMIZATION_APPLY_RESULT_SCHEMA",
|
|
206
307
|
"AUDIT_OPTIMIZATION_PROPOSAL_SCHEMA",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import re
|
|
5
6
|
from typing import Any
|
|
6
7
|
|
|
7
8
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest
|
|
@@ -23,6 +24,7 @@ _DIGEST = {"type": "string", "pattern": "^[0-9a-f]{64}$"}
|
|
|
23
24
|
_ID = {"type": "string", "minLength": 1, "maxLength": 256}
|
|
24
25
|
_TEXT = {"type": "string", "minLength": 1, "maxLength": 2048}
|
|
25
26
|
_BLOCKERS = {"type": "array", "items": {"type": "object"}, "maxItems": 128}
|
|
27
|
+
_CHECK_ROUTE = re.compile(r"^[A-Za-z0-9][A-Za-z0-9._/-]{0,255}$")
|
|
26
28
|
|
|
27
29
|
|
|
28
30
|
FINDING_CHECK_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
@@ -100,6 +102,7 @@ FINDING_CHECK_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
100
102
|
"proposalId": _ID,
|
|
101
103
|
"status": {"enum": ["PASS", "FAIL"]},
|
|
102
104
|
"binding": {"type": "object"},
|
|
105
|
+
"reviewerReproduction": {"type": "object", "maxProperties": 4},
|
|
103
106
|
"approvalRequired": {"const": True},
|
|
104
107
|
"applyAllowed": {"const": False},
|
|
105
108
|
"authorityClaimed": {"const": False},
|
|
@@ -468,6 +471,15 @@ def validate_finding_check_proposal(proposal: dict[str, Any]) -> dict[str, Any]:
|
|
|
468
471
|
blockers.append({"code": "finding-check-proposal-binding-invalid"})
|
|
469
472
|
if proposal.get("status") not in {"PASS", "FAIL"}:
|
|
470
473
|
blockers.append({"code": "finding-check-proposal-status-invalid"})
|
|
474
|
+
reproduction = proposal.get("reviewerReproduction")
|
|
475
|
+
if reproduction is not None and (
|
|
476
|
+
not isinstance(reproduction, dict)
|
|
477
|
+
or not isinstance(reproduction.get("text"), str)
|
|
478
|
+
or not reproduction["text"]
|
|
479
|
+
or reproduction.get("parsedAsCommand") is not False
|
|
480
|
+
or reproduction.get("executionAuthorityGranted") is not False
|
|
481
|
+
):
|
|
482
|
+
blockers.append({"code": "finding-check-proposal-reproduction-invalid"})
|
|
471
483
|
if (
|
|
472
484
|
proposal.get("approvalRequired") is not True
|
|
473
485
|
or proposal.get("applyAllowed") is not False
|
|
@@ -486,6 +498,33 @@ def validate_finding_check_proposal(proposal: dict[str, Any]) -> dict[str, Any]:
|
|
|
486
498
|
)
|
|
487
499
|
|
|
488
500
|
|
|
501
|
+
def build_finding_check_proposal(binding: dict[str, Any], *, reproduction: str) -> dict[str, Any]:
|
|
502
|
+
"""Preserve reviewer reproduction text as advisory data only."""
|
|
503
|
+
|
|
504
|
+
validation = validate_finding_check_binding(binding)
|
|
505
|
+
if validation["status"] != "PASS":
|
|
506
|
+
raise LifecycleError("finding-check-proposal-binding-invalid", "proposal binding failed validation")
|
|
507
|
+
_required_text(reproduction, "reproduction")
|
|
508
|
+
proposal_seed = canonical_digest({"binding": binding["bindingDigest"], "text": reproduction})
|
|
509
|
+
body = {
|
|
510
|
+
"schemaVersion": FINDING_CHECK_PROPOSAL_SCHEMA,
|
|
511
|
+
"proposalId": f"finding-check-proposal-{proposal_seed[:32]}",
|
|
512
|
+
"status": "PASS",
|
|
513
|
+
"binding": dict(binding),
|
|
514
|
+
"reviewerReproduction": {
|
|
515
|
+
"text": reproduction,
|
|
516
|
+
"parsedAsCommand": False,
|
|
517
|
+
"executionAuthorityGranted": False,
|
|
518
|
+
},
|
|
519
|
+
"approvalRequired": True,
|
|
520
|
+
"applyAllowed": False,
|
|
521
|
+
"authorityClaimed": False,
|
|
522
|
+
"blockers": [],
|
|
523
|
+
"productionPromotionClaimed": False,
|
|
524
|
+
}
|
|
525
|
+
return {**body, "proposalDigest": canonical_digest(body)}
|
|
526
|
+
|
|
527
|
+
|
|
489
528
|
def _transition_receipt(
|
|
490
529
|
binding: dict[str, Any], target_status: str, idempotent: bool, blockers: list[dict[str, Any]]
|
|
491
530
|
) -> dict[str, Any]:
|
|
@@ -530,7 +569,13 @@ def _normalize_check_identity(identity: Any) -> dict[str, str]:
|
|
|
530
569
|
route = identity.get("route")
|
|
531
570
|
if not isinstance(check_id, str) or not check_id or not isinstance(route, str) or not route:
|
|
532
571
|
raise LifecycleError("finding-check-identity-invalid", "checkIdentity requires id and route")
|
|
533
|
-
|
|
572
|
+
route_parts = route.split("/")
|
|
573
|
+
if (
|
|
574
|
+
_CHECK_ROUTE.fullmatch(route) is None
|
|
575
|
+
or route.startswith("/")
|
|
576
|
+
or "//" in route
|
|
577
|
+
or any(part in {".", ".."} for part in route_parts)
|
|
578
|
+
):
|
|
534
579
|
raise LifecycleError("finding-check-identity-authority", "check route contains unsafe command text")
|
|
535
580
|
normalized = {"id": check_id, "route": route}
|
|
536
581
|
expected = canonical_digest(normalized)
|
|
@@ -625,6 +670,7 @@ __all__ = [
|
|
|
625
670
|
"FINDING_CHECK_TRANSITION_SCHEMA",
|
|
626
671
|
"build_finding_check_binding",
|
|
627
672
|
"build_finding_check_evidence",
|
|
673
|
+
"build_finding_check_proposal",
|
|
628
674
|
"transition_finding_check_binding",
|
|
629
675
|
"validate_finding_check_binding",
|
|
630
676
|
"validate_finding_check_evidence",
|
|
@@ -5,6 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Any
|
|
6
6
|
|
|
7
7
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest
|
|
8
|
+
from agent_lifecycle.contracts.review_verdict import open_blocking_finding_ids
|
|
8
9
|
|
|
9
10
|
IMPLEMENTATION_AUDIT_SCHEMA = "agent-implementation-audit-report.v1"
|
|
10
11
|
FINAL_IMPLEMENTATION_AUDIT_SCHEMA = "agent-final-implementation-audit.v1"
|
|
@@ -269,12 +270,7 @@ def _has_blockers(payload: dict[str, Any]) -> bool:
|
|
|
269
270
|
|
|
270
271
|
def _has_open_blocking_findings(payload: dict[str, Any]) -> bool:
|
|
271
272
|
findings = payload.get("findings")
|
|
272
|
-
return isinstance(findings, list) and
|
|
273
|
-
isinstance(item, dict)
|
|
274
|
-
and item.get("status") == "open"
|
|
275
|
-
and item.get("severity") in {"BLOCKER", "HIGH", "MEDIUM"}
|
|
276
|
-
for item in findings
|
|
277
|
-
)
|
|
273
|
+
return isinstance(findings, list) and bool(open_blocking_finding_ids(findings))
|
|
278
274
|
|
|
279
275
|
|
|
280
276
|
__all__ = [
|
|
@@ -12,7 +12,7 @@ INDEPENDENT_EVIDENCE_SCHEMA = "agent-independent-evidence.v1"
|
|
|
12
12
|
INDEPENDENT_EVIDENCE_VALIDATION_SCHEMA = "agent-independent-evidence-validation.v1"
|
|
13
13
|
|
|
14
14
|
INDEPENDENCE_DIMENSIONS = ("producer", "implementation", "source")
|
|
15
|
-
INDEPENDENCE_METHODS = ("deterministic-check", "human-review")
|
|
15
|
+
INDEPENDENCE_METHODS = ("deterministic-check", "human-review", "statistical-check")
|
|
16
16
|
INDEPENDENCE_SOURCE_POLICIES = ("exact-revision", "current-lineage", "any-current")
|
|
17
17
|
INDEPENDENT_EVIDENCE_STATUSES = ("PASS", "FAIL", "UNAVAILABLE")
|
|
18
18
|
|
|
@@ -278,6 +278,7 @@ def validate_independent_evidence(
|
|
|
278
278
|
requirement_validation = validate_independence_requirement(requirement)
|
|
279
279
|
if requirement_validation["status"] != "PASS":
|
|
280
280
|
blockers.append({"code": "independent-evidence-requirement-invalid", "validation": requirement_validation})
|
|
281
|
+
return _evidence_validation(evidence, blockers, "NOT_PROVEN")
|
|
281
282
|
elif evidence.get("requirementDigest") != requirement.get("requirementDigest"):
|
|
282
283
|
blockers.append({"code": "independent-evidence-requirement-mismatch"})
|
|
283
284
|
required = requirement.get("required") is True
|