agent-lifecycle-kit 2.5.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.5.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.7.0}/PKG-INFO +4 -4
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/README.md +3 -3
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/implementation.py +12 -12
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_observability.py +114 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_planning.py +7 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/metrics_parser.py +16 -0
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/cli/plan_lock_commands.py +96 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/planning_parsers.py +7 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +105 -4
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +47 -1
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +2 -6
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +2 -1
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/metric_schemas.py +44 -2
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/contracts/release_accounting_schemas.py +121 -0
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/contracts/review_round_schemas.py +427 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_verdict.py +52 -11
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/schemas.py +4 -0
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +479 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/freeze/package_integrity.py +118 -15
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/__init__.py +36 -10
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/metrics/audit_efficiency.py +455 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/audit_optimization.py +163 -44
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/audit_samples.py +208 -29
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/cost_collection.py +21 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/phase_resources.py +69 -2
- agent_lifecycle_kit-2.7.0/src/agent_lifecycle/metrics/release_accounting.py +661 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/completeness.py +30 -9
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/manifest_contract.py +12 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review/validation.py +2 -7
- {agent_lifecycle_kit-2.5.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.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/completion_gate.py +45 -21
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/finalization.py +2 -7
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/reviews.py +2 -8
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +4 -4
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +6 -0
- agent_lifecycle_kit-2.5.0/src/agent_lifecycle/review_mesh/synthesis.py +0 -102
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.5.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.5.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.5.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.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.5.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
|
|
|
@@ -69,7 +69,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
|
|
|
69
69
|
- The [system architecture](docs/architecture/system-architecture.md) page explains how the project is organized, and [project comparison](docs/reference/project-comparison.md) shows how it differs from similar tools.
|
|
70
70
|
- Multiple-agent boundaries, workflow configuration, model choice, prompts, timeouts and retries are described in [workflow customization and execution controls](docs/reference/workflow-customization.md).
|
|
71
71
|
- Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), run longer specialized adapter work through [bounded external tool jobs](docs/reference/external-tool-jobs.md), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md), or use the optional [security analysis profile](docs/reference/security-analysis-profile.md) for untrusted findings and independently verified remediation.
|
|
72
|
-
- For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority.
|
|
72
|
+
- For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), and cross session boundaries with the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md).
|
|
73
73
|
## What it gives you
|
|
74
74
|
- A finish-oriented lifecycle: plan, execute, review, and prove the result.
|
|
75
75
|
- One process for different CLIs: adapter-specific commands stay outside the
|
|
@@ -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
|
|
|
@@ -47,7 +47,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
|
|
|
47
47
|
- The [system architecture](docs/architecture/system-architecture.md) page explains how the project is organized, and [project comparison](docs/reference/project-comparison.md) shows how it differs from similar tools.
|
|
48
48
|
- Multiple-agent boundaries, workflow configuration, model choice, prompts, timeouts and retries are described in [workflow customization and execution controls](docs/reference/workflow-customization.md).
|
|
49
49
|
- Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), run longer specialized adapter work through [bounded external tool jobs](docs/reference/external-tool-jobs.md), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md), or use the optional [security analysis profile](docs/reference/security-analysis-profile.md) for untrusted findings and independently verified remediation.
|
|
50
|
-
- For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority.
|
|
50
|
+
- For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), and cross session boundaries with the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md).
|
|
51
51
|
## What it gives you
|
|
52
52
|
- A finish-oriented lifecycle: plan, execute, review, and prove the result.
|
|
53
53
|
- One process for different CLIs: adapter-specific commands stay outside the
|
|
@@ -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.5.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
|
|
|
@@ -39,7 +39,9 @@ from agent_lifecycle.imports.security_findings import import_security_findings
|
|
|
39
39
|
from agent_lifecycle.metrics import (
|
|
40
40
|
build_lifecycle_cost_summary,
|
|
41
41
|
build_lifecycle_recommendation_summary,
|
|
42
|
+
build_phase_resource_measurement,
|
|
42
43
|
build_quality_cost_signals,
|
|
44
|
+
build_release_accounting,
|
|
43
45
|
build_task_outcome_index,
|
|
44
46
|
build_usage_export,
|
|
45
47
|
generate_lifecycle_cost_report,
|
|
@@ -47,10 +49,19 @@ from agent_lifecycle.metrics import (
|
|
|
47
49
|
recommend_lifecycle_mode,
|
|
48
50
|
require_lifecycle_cost_pass,
|
|
49
51
|
require_lifecycle_recommendation_pass,
|
|
52
|
+
require_phase_resource_measurement_pass,
|
|
53
|
+
require_release_accounting_pass,
|
|
50
54
|
require_usage_export_pass,
|
|
51
55
|
validate_lifecycle_cost_report,
|
|
56
|
+
validate_phase_resource_measurement,
|
|
57
|
+
validate_release_accounting,
|
|
52
58
|
validate_usage_export,
|
|
53
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
|
+
)
|
|
54
65
|
from agent_lifecycle.metrics.audit_optimization import (
|
|
55
66
|
build_audit_optimization_report,
|
|
56
67
|
render_audit_optimization_terminal,
|
|
@@ -497,6 +508,10 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
497
508
|
"liveCallsStarted": False,
|
|
498
509
|
"productionPromotionClaimed": False,
|
|
499
510
|
}
|
|
511
|
+
if args.metrics_command == "phase-resources":
|
|
512
|
+
return _dispatch_phase_resources(args)
|
|
513
|
+
if args.metrics_command == "release-accounting":
|
|
514
|
+
return _dispatch_release_accounting(args)
|
|
500
515
|
if args.metrics_command == "usage-export":
|
|
501
516
|
export = build_usage_export(
|
|
502
517
|
artifact_paths=[Path(item) for item in args.artifact],
|
|
@@ -571,6 +586,8 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
571
586
|
return payload
|
|
572
587
|
if args.metrics_command == "audit-report":
|
|
573
588
|
return _dispatch_audit_report(args)
|
|
589
|
+
if args.metrics_command == "audit-efficiency":
|
|
590
|
+
return _dispatch_audit_efficiency(args)
|
|
574
591
|
if args.metrics_command == "audit-proposal":
|
|
575
592
|
report = read_json_object(Path(args.report), label="audit optimization report")
|
|
576
593
|
raw_recommendation = report.get("recommendation")
|
|
@@ -593,6 +610,69 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
593
610
|
raise LifecycleError("command-not-implemented", "metrics command is not implemented")
|
|
594
611
|
|
|
595
612
|
|
|
613
|
+
def _dispatch_phase_resources(args: argparse.Namespace) -> dict[str, Any]:
|
|
614
|
+
source = read_json_object(Path(args.input), label="phase resource input")
|
|
615
|
+
if source.get("schemaVersion") != "agent-phase-resource-input.v1":
|
|
616
|
+
raise LifecycleError("phase-resource-input-schema-invalid", "unsupported phase resource input schema")
|
|
617
|
+
raw_phases = source.get("phases")
|
|
618
|
+
if not isinstance(raw_phases, list) or not all(isinstance(item, dict) for item in raw_phases):
|
|
619
|
+
raise LifecycleError("invalid-phase-resource-measurement", "phases must be an array of objects")
|
|
620
|
+
phases: list[dict[str, Any]] = raw_phases
|
|
621
|
+
raw_lineage = source.get("lineage")
|
|
622
|
+
if raw_lineage is not None and not isinstance(raw_lineage, dict):
|
|
623
|
+
raise LifecycleError("invalid-phase-resource-measurement", "lineage must be an object")
|
|
624
|
+
raw_artifacts = source.get("sourceArtifacts")
|
|
625
|
+
if raw_artifacts is not None and (
|
|
626
|
+
not isinstance(raw_artifacts, list) or not all(isinstance(item, dict) for item in raw_artifacts)
|
|
627
|
+
):
|
|
628
|
+
raise LifecycleError("invalid-phase-resource-measurement", "sourceArtifacts must be an array of objects")
|
|
629
|
+
measurement = build_phase_resource_measurement(
|
|
630
|
+
phases,
|
|
631
|
+
lineage=raw_lineage,
|
|
632
|
+
source_artifacts=raw_artifacts,
|
|
633
|
+
)
|
|
634
|
+
validation = require_phase_resource_measurement_pass(validate_phase_resource_measurement(measurement))
|
|
635
|
+
output_bytes = write_json_create(Path(args.out), measurement)
|
|
636
|
+
body = {
|
|
637
|
+
"schemaVersion": "agent-phase-resource-generation.v1",
|
|
638
|
+
"status": "PASS",
|
|
639
|
+
"outputPath": args.out,
|
|
640
|
+
"outputBytes": len(output_bytes),
|
|
641
|
+
"measurementDigest": measurement["measurementDigest"],
|
|
642
|
+
"validation": validation,
|
|
643
|
+
"liveCallsStarted": False,
|
|
644
|
+
"productionPromotionClaimed": False,
|
|
645
|
+
}
|
|
646
|
+
return {**body, "receiptDigest": canonical_digest(body)}
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
def _dispatch_release_accounting(args: argparse.Namespace) -> dict[str, Any]:
|
|
650
|
+
declared_provenance = (
|
|
651
|
+
read_json_object(Path(args.provenance), label="release accounting provenance")
|
|
652
|
+
if args.provenance
|
|
653
|
+
else None
|
|
654
|
+
)
|
|
655
|
+
accounting = build_release_accounting(
|
|
656
|
+
args.release_id,
|
|
657
|
+
[Path(item) for item in args.artifact],
|
|
658
|
+
project_root=Path(args.project_root),
|
|
659
|
+
declared_provenance=declared_provenance,
|
|
660
|
+
)
|
|
661
|
+
validation = require_release_accounting_pass(validate_release_accounting(accounting))
|
|
662
|
+
output_bytes = write_json_create(Path(args.out), accounting)
|
|
663
|
+
body = {
|
|
664
|
+
"schemaVersion": "agent-release-accounting-generation.v1",
|
|
665
|
+
"status": "PASS",
|
|
666
|
+
"outputPath": args.out,
|
|
667
|
+
"outputBytes": len(output_bytes),
|
|
668
|
+
"accountingDigest": accounting["accountingDigest"],
|
|
669
|
+
"validation": validation,
|
|
670
|
+
"liveCallsStarted": False,
|
|
671
|
+
"productionPromotionClaimed": False,
|
|
672
|
+
}
|
|
673
|
+
return {**body, "receiptDigest": canonical_digest(body)}
|
|
674
|
+
|
|
675
|
+
|
|
596
676
|
def _dispatch_audit_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
597
677
|
samples = _read_audit_samples(args.sample)
|
|
598
678
|
candidates = _read_json_items(args.candidate_profile, label="candidate profile")
|
|
@@ -625,6 +705,40 @@ def _dispatch_audit_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
625
705
|
return report
|
|
626
706
|
|
|
627
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
|
+
|
|
628
742
|
def _read_audit_samples(paths: list[str]) -> list[dict[str, Any]]:
|
|
629
743
|
samples: list[dict[str, Any]] = []
|
|
630
744
|
for item in paths:
|
{agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/dispatch_planning.py
RENAMED
|
@@ -6,6 +6,7 @@ import argparse
|
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
|
+
from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock
|
|
9
10
|
from agent_lifecycle.compiler import compile_small_model_packets, compile_task_packets
|
|
10
11
|
from agent_lifecycle.contracts import (
|
|
11
12
|
LifecycleError,
|
|
@@ -93,6 +94,12 @@ def _dispatch_specification(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
93
94
|
|
|
94
95
|
|
|
95
96
|
def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
|
|
97
|
+
if args.plan_command == "lock-create":
|
|
98
|
+
return create_reviewed_plan_lock(
|
|
99
|
+
manifest_path=args.manifest,
|
|
100
|
+
review_path=args.review,
|
|
101
|
+
repository_root=Path(args.repository_root),
|
|
102
|
+
)
|
|
96
103
|
if args.plan_command == "check":
|
|
97
104
|
manifest = read_json_object(Path(args.manifest), label="plan manifest")
|
|
98
105
|
lock = read_json_object(Path(args.lock), label="plan lock") if args.lock else None
|
{agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/metrics_parser.py
RENAMED
|
@@ -22,6 +22,15 @@ def add_metrics_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
22
22
|
cost_report.add_argument("--project-root", default=".")
|
|
23
23
|
cost_report.add_argument("--out", required=True)
|
|
24
24
|
cost_report.add_argument("--summary-out")
|
|
25
|
+
phase_resources = metrics_sub.add_parser("phase-resources", help="build a bounded phase resource measurement")
|
|
26
|
+
phase_resources.add_argument("--input", required=True)
|
|
27
|
+
phase_resources.add_argument("--out", required=True)
|
|
28
|
+
release_accounting = metrics_sub.add_parser("release-accounting", help="build release resource accounting")
|
|
29
|
+
release_accounting.add_argument("--release-id", required=True)
|
|
30
|
+
release_accounting.add_argument("--artifact", action="append", required=True)
|
|
31
|
+
release_accounting.add_argument("--project-root", default=".")
|
|
32
|
+
release_accounting.add_argument("--provenance")
|
|
33
|
+
release_accounting.add_argument("--out", required=True)
|
|
25
34
|
usage_export = metrics_sub.add_parser("usage-export")
|
|
26
35
|
usage_export.add_argument("--artifact", action="append", default=[])
|
|
27
36
|
usage_export.add_argument("--project-root", default=".")
|
|
@@ -68,6 +77,13 @@ def add_metrics_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
68
77
|
audit_report.add_argument("--current-profile")
|
|
69
78
|
audit_report.add_argument("--out", required=True)
|
|
70
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)
|
|
71
87
|
audit_proposal = metrics_sub.add_parser("audit-proposal", help="create an explicit audit optimization proposal")
|
|
72
88
|
audit_proposal.add_argument("--report", required=True)
|
|
73
89
|
audit_proposal.add_argument("--out", required=True)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""Reviewed plan-lock creation command."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from pathlib import Path, PurePosixPath
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
from agent_lifecycle.contracts import (
|
|
9
|
+
LifecycleError,
|
|
10
|
+
canonical_digest,
|
|
11
|
+
load_json_object,
|
|
12
|
+
sha256_hex,
|
|
13
|
+
write_json_create,
|
|
14
|
+
)
|
|
15
|
+
from agent_lifecycle.contracts.canonical import MAX_JSON_INPUT_BYTES
|
|
16
|
+
from agent_lifecycle.contracts.paths import normalize_repo_path, read_stable_repository_file
|
|
17
|
+
from agent_lifecycle.freeze.package_integrity import (
|
|
18
|
+
build_reviewed_plan_lock_v2,
|
|
19
|
+
verify_plan_package_integrity,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
PLAN_LOCK_CREATION_RECEIPT = "agent-plan-lock-creation-receipt.v1"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def create_reviewed_plan_lock(
|
|
26
|
+
*,
|
|
27
|
+
manifest_path: str,
|
|
28
|
+
review_path: str,
|
|
29
|
+
repository_root: Path,
|
|
30
|
+
) -> dict[str, Any]:
|
|
31
|
+
"""Create and verify the canonical lock for one reviewed frozen plan."""
|
|
32
|
+
|
|
33
|
+
root = repository_root.resolve(strict=True)
|
|
34
|
+
manifest_rel, manifest_data = _read_repository_json(root, manifest_path, label="plan manifest")
|
|
35
|
+
manifest = load_json_object(manifest_data, label="plan manifest")
|
|
36
|
+
package_value = manifest.get("package")
|
|
37
|
+
package = package_value if isinstance(package_value, dict) else {}
|
|
38
|
+
raw_plan_root = package.get("planArtifactRoot")
|
|
39
|
+
if not isinstance(raw_plan_root, str):
|
|
40
|
+
raise LifecycleError("invalid-plan-manifest", "package.planArtifactRoot is required")
|
|
41
|
+
plan_root = normalize_repo_path(raw_plan_root, label="package.planArtifactRoot")
|
|
42
|
+
expected_manifest = f"{plan_root}/plan.manifest.json"
|
|
43
|
+
if manifest_rel != expected_manifest:
|
|
44
|
+
raise LifecycleError("plan-manifest-path-mismatch", "manifest path does not match package.planArtifactRoot")
|
|
45
|
+
|
|
46
|
+
review_rel, review_data = _read_repository_json(root, review_path, label="plan review")
|
|
47
|
+
review = load_json_object(review_data, label="plan review")
|
|
48
|
+
lock = build_reviewed_plan_lock_v2(
|
|
49
|
+
manifest,
|
|
50
|
+
review,
|
|
51
|
+
review_path=review_rel,
|
|
52
|
+
review_sha256=sha256_hex(review_data),
|
|
53
|
+
repository_root=root,
|
|
54
|
+
)
|
|
55
|
+
# Reject malformed or drifting package bytes before creating the
|
|
56
|
+
# no-replace authority artifact. The second check still detects drift.
|
|
57
|
+
verify_plan_package_integrity(manifest, lock, repository_root=root)
|
|
58
|
+
lock_rel = f"{plan_root}/plan.lock.json"
|
|
59
|
+
lock_path = root.joinpath(*PurePosixPath(lock_rel).parts)
|
|
60
|
+
try:
|
|
61
|
+
write_json_create(lock_path, lock)
|
|
62
|
+
except FileExistsError as exc:
|
|
63
|
+
raise LifecycleError("plan-lock-exists", "canonical plan lock already exists", {"path": lock_rel}) from exc
|
|
64
|
+
except OSError as exc:
|
|
65
|
+
raise LifecycleError(
|
|
66
|
+
"plan-lock-write-failed",
|
|
67
|
+
"canonical plan lock could not be created",
|
|
68
|
+
{"path": lock_rel},
|
|
69
|
+
) from exc
|
|
70
|
+
verification = verify_plan_package_integrity(manifest, lock, repository_root=root)
|
|
71
|
+
body = {
|
|
72
|
+
"schemaVersion": PLAN_LOCK_CREATION_RECEIPT,
|
|
73
|
+
"status": "PASS",
|
|
74
|
+
"packageId": package.get("id"),
|
|
75
|
+
"planRevision": manifest.get("planRevision"),
|
|
76
|
+
"manifestPath": manifest_rel,
|
|
77
|
+
"manifestHash": canonical_digest(manifest),
|
|
78
|
+
"reviewPath": review_rel,
|
|
79
|
+
"reviewId": review.get("reviewId"),
|
|
80
|
+
"reviewedPlanHash": review.get("reviewedPlanHash"),
|
|
81
|
+
"lockPath": lock_rel,
|
|
82
|
+
"lockSchemaVersion": lock.get("schemaVersion"),
|
|
83
|
+
"planFilesHash": lock.get("planFilesHash"),
|
|
84
|
+
"filesystemVerified": verification.get("filesystemVerified") is True,
|
|
85
|
+
"productionPromotionClaimed": False,
|
|
86
|
+
}
|
|
87
|
+
return {**body, "receiptDigest": canonical_digest(body)}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def _read_repository_json(root: Path, raw_path: str, *, label: str) -> tuple[str, bytes]:
|
|
91
|
+
relative = normalize_repo_path(raw_path, label=f"{label} path")
|
|
92
|
+
data = read_stable_repository_file(root, relative, max_bytes=MAX_JSON_INPUT_BYTES, label=label)
|
|
93
|
+
return relative, data
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
__all__ = ["PLAN_LOCK_CREATION_RECEIPT", "create_reviewed_plan_lock"]
|
{agent_lifecycle_kit-2.5.0 → agent_lifecycle_kit-2.7.0}/src/agent_lifecycle/cli/planning_parsers.py
RENAMED
|
@@ -17,6 +17,13 @@ def _add_plan_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentPar
|
|
|
17
17
|
plan_check.add_argument("--lock")
|
|
18
18
|
plan_check.add_argument("--require-completeness", action="store_true")
|
|
19
19
|
plan_check.add_argument("--completeness-profile")
|
|
20
|
+
lock_create = plan_sub.add_parser(
|
|
21
|
+
"lock-create",
|
|
22
|
+
help="create the canonical lock for an independently reviewed plan",
|
|
23
|
+
)
|
|
24
|
+
lock_create.add_argument("--manifest", required=True)
|
|
25
|
+
lock_create.add_argument("--review", required=True)
|
|
26
|
+
lock_create.add_argument("--repository-root", default=".")
|
|
20
27
|
verify = plan_sub.add_parser("verify", help="compose read-only plan checks")
|
|
21
28
|
verify.add_argument("--manifest", required=True)
|
|
22
29
|
verify.add_argument("--package-root")
|
|
@@ -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",
|