agent-lifecycle-kit 2.13.0__tar.gz → 2.15.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.13.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.15.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/README.md +2 -2
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +2 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +4 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/implementation.py +3 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/ownership.py +61 -25
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/package.py +13 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/git.py +13 -2
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/snapshot.py +11 -2
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/cli/dispatch_metrics.py +85 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_observability.py +13 -13
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/metrics_parser.py +18 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/small_model_packets.py +26 -15
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/task_packets.py +49 -18
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/authority_io.py +523 -0
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/authority_text.py +137 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/canonical.py +72 -98
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/metric_schemas.py +3 -0
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/ownership_paths.py +322 -0
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/paths.py +105 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/persistence.py +0 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +2 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_verdict.py +4 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/validation.py +12 -7
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +83 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +28 -6
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +79 -23
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/external_dialects.py +1 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/planning.py +1 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/__init__.py +14 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/audit_efficiency.py +75 -8
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/cost_collection.py +8 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/phase_resources.py +47 -2
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/recommendations.py +101 -12
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/metrics/regression_signals.py +735 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/release_accounting.py +102 -11
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/metrics/workflow_economics.py +218 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/completeness.py +17 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/manifest_contract.py +13 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/verification.py +5 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/execution_resources.py +43 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review/validation.py +2 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/contracts.py +2 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/artifacts.py +6 -13
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/continuation_batch.py +6 -18
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/workflow/events.py +76 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/operation_kernel.py +2 -21
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/plan_adoption.py +8 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/reviews.py +3 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/run.py +13 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/task_start.py +9 -10
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/task_transitions.py +57 -10
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +3 -0
- agent_lifecycle_kit-2.13.0/src/agent_lifecycle/cli/dispatch_metrics.py +0 -34
- agent_lifecycle_kit-2.13.0/src/agent_lifecycle/contracts/ownership_paths.py +0 -43
- agent_lifecycle_kit-2.13.0/src/agent_lifecycle/contracts/paths.py +0 -180
- agent_lifecycle_kit-2.13.0/src/agent_lifecycle/metrics/regression_signals.py +0 -92
- agent_lifecycle_kit-2.13.0/src/agent_lifecycle/workflow/events.py +0 -50
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.13.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.15.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.15.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.15.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
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. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
|
|
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), compare only compatible evidence through [workflow economics](docs/reference/workflow-economics.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.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
|
|
@@ -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.15.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
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. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
|
|
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), compare only compatible evidence through [workflow economics](docs/reference/workflow-economics.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.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
|
|
@@ -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.15.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"
|
|
@@ -313,7 +313,7 @@ def request_external_job_cancel(
|
|
|
313
313
|
job_root: Path | None = None,
|
|
314
314
|
now: Clock | None = None,
|
|
315
315
|
) -> dict[str, Any]:
|
|
316
|
-
"""
|
|
316
|
+
"""Acknowledge cancellation-request publication, not process termination."""
|
|
317
317
|
|
|
318
318
|
require_external_job_pass(validate_external_job_request(request), "request")
|
|
319
319
|
attempt_root = external_job_attempt_path(request, job_root=job_root)
|
|
@@ -345,8 +345,7 @@ def request_external_job_cancel(
|
|
|
345
345
|
except FileExistsError:
|
|
346
346
|
existing = _load_private_json(path, "external job cancel request")
|
|
347
347
|
return _cancel_receipt(request, latest, requested_at=existing.get("requestedAt"), idempotent=True)
|
|
348
|
-
|
|
349
|
-
return _cancel_receipt(request, latest, requested_at=requested_at, idempotent=True, terminal=True)
|
|
348
|
+
# Completion after publication cannot turn this creator into a no-op retry.
|
|
350
349
|
return _cancel_receipt(request, latest, requested_at=requested_at, idempotent=False)
|
|
351
350
|
|
|
352
351
|
|
|
@@ -69,10 +69,9 @@ def pre_action_gate(
|
|
|
69
69
|
policy=policy,
|
|
70
70
|
next_action=next_action,
|
|
71
71
|
task_id=task_id,
|
|
72
|
-
expected_state_revision=(
|
|
73
|
-
expected_state_revision if expected_state_revision is not None else 0
|
|
74
|
-
),
|
|
72
|
+
expected_state_revision=(expected_state_revision if expected_state_revision is not None else 0),
|
|
75
73
|
package_integrity=package_integrity,
|
|
74
|
+
repository_root=repository_root,
|
|
76
75
|
)
|
|
77
76
|
|
|
78
77
|
|
|
@@ -92,6 +91,7 @@ def post_action_gate(
|
|
|
92
91
|
actual_status: str = "PASS",
|
|
93
92
|
event: dict[str, Any] | None = None,
|
|
94
93
|
policy_path: Path | None = None,
|
|
94
|
+
repository_root: Path | None = None,
|
|
95
95
|
) -> dict[str, Any]:
|
|
96
96
|
"""Validate host output and changed paths after an authorized action."""
|
|
97
97
|
|
|
@@ -99,6 +99,7 @@ def post_action_gate(
|
|
|
99
99
|
policy = load_lifecycle_control_policy(policy_path) if policy_path else None
|
|
100
100
|
return evaluate_post_action_gate(
|
|
101
101
|
pre_action=pre_action,
|
|
102
|
+
repository_root=repository_root,
|
|
102
103
|
manifest=manifest,
|
|
103
104
|
actual_changed_paths=actual_changed_paths,
|
|
104
105
|
outcome=outcome,
|
|
@@ -7,6 +7,7 @@ from typing import Any
|
|
|
7
7
|
|
|
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
|
+
from agent_lifecycle.contracts.authority_text import require_review_text
|
|
10
11
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
11
12
|
from agent_lifecycle.contracts.review_verdict import (
|
|
12
13
|
BLOCKING_REVIEW_SEVERITIES,
|
|
@@ -218,6 +219,7 @@ def validate_implementation_audit_report(
|
|
|
218
219
|
) -> dict[str, Any]:
|
|
219
220
|
blockers: list[dict[str, Any]] = []
|
|
220
221
|
compatibility_validation: dict[str, Any] | None = None
|
|
222
|
+
require_review_text(report)
|
|
221
223
|
if report.get("schemaVersion") != IMPLEMENTATION_AUDIT_SCHEMA:
|
|
222
224
|
blockers.append(
|
|
223
225
|
{"code": "implementation-audit-schema", "message": "unsupported implementation audit schemaVersion"}
|
|
@@ -389,6 +391,7 @@ def build_final_implementation_audit(
|
|
|
389
391
|
def validate_final_implementation_audit(
|
|
390
392
|
audit: dict[str, Any], *, state: dict[str, Any] | None = None
|
|
391
393
|
) -> dict[str, Any]:
|
|
394
|
+
require_review_text(audit)
|
|
392
395
|
blockers: list[dict[str, Any]] = []
|
|
393
396
|
if audit.get("schemaVersion") != FINAL_IMPLEMENTATION_AUDIT_SCHEMA:
|
|
394
397
|
blockers.append(
|
{agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/ownership.py
RENAMED
|
@@ -6,8 +6,13 @@ from collections import Counter
|
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
|
-
from agent_lifecycle.contracts import read_json_object
|
|
10
|
-
from agent_lifecycle.contracts.ownership_paths import
|
|
9
|
+
from agent_lifecycle.contracts import LifecycleError, read_json_object
|
|
10
|
+
from agent_lifecycle.contracts.ownership_paths import (
|
|
11
|
+
is_under_authority_path,
|
|
12
|
+
normalize_authority_path,
|
|
13
|
+
observed_authority_paths,
|
|
14
|
+
require_manifest_authority_paths,
|
|
15
|
+
)
|
|
11
16
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
12
17
|
|
|
13
18
|
|
|
@@ -16,9 +21,16 @@ def build_ownership_report(
|
|
|
16
21
|
paths: list[str],
|
|
17
22
|
*,
|
|
18
23
|
base: str | None = None,
|
|
24
|
+
repository_root: Path | None = None,
|
|
19
25
|
) -> dict[str, Any]:
|
|
20
26
|
manifest = read_json_object(manifest_path, label="plan manifest")
|
|
21
|
-
return build_ownership_report_from_manifest(
|
|
27
|
+
return build_ownership_report_from_manifest(
|
|
28
|
+
manifest,
|
|
29
|
+
paths,
|
|
30
|
+
manifest_path=manifest_path,
|
|
31
|
+
base=base,
|
|
32
|
+
repository_root=repository_root if repository_root is not None else Path.cwd(),
|
|
33
|
+
)
|
|
22
34
|
|
|
23
35
|
|
|
24
36
|
def build_ownership_report_from_manifest(
|
|
@@ -27,11 +39,16 @@ def build_ownership_report_from_manifest(
|
|
|
27
39
|
*,
|
|
28
40
|
manifest_path: Path | None = None,
|
|
29
41
|
base: str | None = None,
|
|
42
|
+
repository_root: Path | None = None,
|
|
30
43
|
) -> dict[str, Any]:
|
|
31
44
|
"""Classify changed paths against an already loaded frozen manifest."""
|
|
32
45
|
|
|
33
|
-
|
|
34
|
-
|
|
46
|
+
require_manifest_authority_paths(manifest, operation_root=repository_root)
|
|
47
|
+
classifiers = _classifiers(manifest, manifest_path, repository_root=repository_root)
|
|
48
|
+
entries = [
|
|
49
|
+
_classify_path(path, classifiers, repository_root=repository_root)
|
|
50
|
+
for path in observed_authority_paths(paths, operation_root=repository_root)
|
|
51
|
+
]
|
|
35
52
|
categories = Counter(entry["category"] for entry in entries)
|
|
36
53
|
owners = Counter(owner for entry in entries for owner in entry.get("owners", []))
|
|
37
54
|
return {
|
|
@@ -57,15 +74,13 @@ def declared_ownership_paths(manifest: dict[str, Any]) -> list[str]:
|
|
|
57
74
|
"""Return literal workstream ownership paths for read-only projections."""
|
|
58
75
|
|
|
59
76
|
classifiers = _classifiers(manifest, None)
|
|
60
|
-
paths = {
|
|
61
|
-
path
|
|
62
|
-
for roots in classifiers["workstreams"].values()
|
|
63
|
-
for path in roots
|
|
64
|
-
}
|
|
77
|
+
paths = {path for roots in classifiers["workstreams"].values() for path in roots}
|
|
65
78
|
return sorted(paths)
|
|
66
79
|
|
|
67
80
|
|
|
68
|
-
def _classifiers(
|
|
81
|
+
def _classifiers(
|
|
82
|
+
manifest: dict[str, Any], manifest_path: Path | None, *, repository_root: Path | None = None
|
|
83
|
+
) -> dict[str, Any]:
|
|
69
84
|
package_value = manifest.get("package")
|
|
70
85
|
package = package_value if isinstance(package_value, dict) else {}
|
|
71
86
|
plan_root = package.get("planArtifactRoot")
|
|
@@ -97,7 +112,7 @@ def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[s
|
|
|
97
112
|
],
|
|
98
113
|
}
|
|
99
114
|
return {
|
|
100
|
-
"manifestPath": _repo_relative(manifest_path),
|
|
115
|
+
"manifestPath": _repo_relative(manifest_path, repository_root=repository_root),
|
|
101
116
|
"planArtifactRoot": normalize_authority_path(plan_root, label="planArtifactRoot")
|
|
102
117
|
if isinstance(plan_root, str)
|
|
103
118
|
else None,
|
|
@@ -134,28 +149,48 @@ def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[s
|
|
|
134
149
|
}
|
|
135
150
|
|
|
136
151
|
|
|
137
|
-
def _classify_path(path: str, classifiers: dict[str, Any]) -> dict[str, Any]:
|
|
152
|
+
def _classify_path(path: str, classifiers: dict[str, Any], *, repository_root: Path | None = None) -> dict[str, Any]:
|
|
138
153
|
normalized = normalize_repo_path(path)
|
|
139
154
|
manifest_path = classifiers["manifestPath"]
|
|
140
|
-
if
|
|
155
|
+
if (
|
|
156
|
+
isinstance(manifest_path, str)
|
|
157
|
+
and normalized.count("/") == manifest_path.count("/")
|
|
158
|
+
and is_under_authority_path(normalized, manifest_path, operation_root=repository_root)
|
|
159
|
+
):
|
|
141
160
|
return _entry(normalized, "plan-authority", ["controller"])
|
|
142
161
|
plan_root = classifiers["planArtifactRoot"]
|
|
143
|
-
if isinstance(plan_root, str) and is_under_authority_path(normalized, plan_root):
|
|
162
|
+
if isinstance(plan_root, str) and is_under_authority_path(normalized, plan_root, operation_root=repository_root):
|
|
144
163
|
return _entry(normalized, "plan-authority", ["controller"])
|
|
145
|
-
lead = [
|
|
164
|
+
lead = [
|
|
165
|
+
root
|
|
166
|
+
for root in classifiers["leadOwned"]
|
|
167
|
+
if is_under_authority_path(normalized, root, operation_root=repository_root)
|
|
168
|
+
]
|
|
146
169
|
if lead:
|
|
147
170
|
return _entry(normalized, "lead-owned", ["controller"], matched=lead)
|
|
148
|
-
forbidden = [
|
|
171
|
+
forbidden = [
|
|
172
|
+
root
|
|
173
|
+
for root in classifiers["forbiddenWrites"]
|
|
174
|
+
if is_under_authority_path(normalized, root, operation_root=repository_root)
|
|
175
|
+
]
|
|
149
176
|
if forbidden:
|
|
150
177
|
return _entry(normalized, "forbidden", [], matched=forbidden)
|
|
151
|
-
read_only = [
|
|
178
|
+
read_only = [
|
|
179
|
+
root
|
|
180
|
+
for root in classifiers["readOnly"]
|
|
181
|
+
if is_under_authority_path(normalized, root, operation_root=repository_root)
|
|
182
|
+
]
|
|
152
183
|
if read_only:
|
|
153
184
|
return _entry(normalized, "read-only", [], matched=read_only)
|
|
154
|
-
owners = [
|
|
155
|
-
|
|
156
|
-
for
|
|
157
|
-
|
|
158
|
-
|
|
185
|
+
owners = []
|
|
186
|
+
for owner, roots in classifiers["workstreams"].items():
|
|
187
|
+
for root in roots:
|
|
188
|
+
if not is_under_authority_path(normalized, root, operation_root=repository_root):
|
|
189
|
+
continue
|
|
190
|
+
if repository_root is not None and not is_under_authority_path(normalized, root):
|
|
191
|
+
raise LifecycleError("ambiguous-authority-path", "filesystem alias would broaden a write grant")
|
|
192
|
+
if owner not in owners:
|
|
193
|
+
owners.append(owner)
|
|
159
194
|
if owners:
|
|
160
195
|
return _entry(normalized, "workstream-owned", owners)
|
|
161
196
|
return _entry(normalized, "unowned", [])
|
|
@@ -174,11 +209,12 @@ def _entry(
|
|
|
174
209
|
return value
|
|
175
210
|
|
|
176
211
|
|
|
177
|
-
def _repo_relative(path: Path | None) -> str | None:
|
|
212
|
+
def _repo_relative(path: Path | None, *, repository_root: Path | None = None) -> str | None:
|
|
178
213
|
if path is None:
|
|
179
214
|
return None
|
|
180
215
|
try:
|
|
181
|
-
|
|
216
|
+
root = repository_root if repository_root is not None else Path.cwd()
|
|
217
|
+
return normalize_repo_path(path.absolute().relative_to(root.absolute()).as_posix())
|
|
182
218
|
except ValueError:
|
|
183
219
|
return None
|
|
184
220
|
|
{agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/package.py
RENAMED
|
@@ -13,6 +13,8 @@ from agent_lifecycle.audit.implementation import (
|
|
|
13
13
|
from agent_lifecycle.audit.ownership import build_ownership_report, report_has_category
|
|
14
14
|
from agent_lifecycle.changesets import changed_files
|
|
15
15
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object
|
|
16
|
+
from agent_lifecycle.contracts.authority_text import require_review_text
|
|
17
|
+
from agent_lifecycle.contracts.ownership_paths import require_manifest_authority_paths
|
|
16
18
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
17
19
|
from agent_lifecycle.freeze import plan_integrity_required, verify_plan_lock, verify_plan_package_integrity
|
|
18
20
|
from agent_lifecycle.planning import (
|
|
@@ -79,9 +81,16 @@ def build_package_audit(
|
|
|
79
81
|
package_files = _package_file_check(package_dir, manifest=manifest, repository_root=repository_root)
|
|
80
82
|
_capture_check_failure("package-files", package_files, findings, blockers)
|
|
81
83
|
|
|
84
|
+
authority_check = _run_check(
|
|
85
|
+
lambda: require_manifest_authority_paths(manifest, operation_root=repository_root)
|
|
86
|
+
)
|
|
87
|
+
_capture_check_failure("authority-paths", authority_check, findings, blockers)
|
|
88
|
+
|
|
82
89
|
profile = _load_profile(completeness_profile_path)
|
|
83
90
|
manifest_check = _run_check(lambda: validate_plan_manifest(manifest))
|
|
84
|
-
completeness_check = _run_check(
|
|
91
|
+
completeness_check = _run_check(
|
|
92
|
+
lambda: validate_plan_completeness(manifest, profile=profile, operation_root=repository_root)
|
|
93
|
+
)
|
|
85
94
|
_capture_check_failure("manifest", manifest_check, findings, blockers)
|
|
86
95
|
_capture_check_failure("completeness", completeness_check, findings, blockers)
|
|
87
96
|
|
|
@@ -121,6 +130,7 @@ def build_package_audit(
|
|
|
121
130
|
"packageFiles": package_files,
|
|
122
131
|
"manifest": manifest_check,
|
|
123
132
|
"completeness": completeness_check,
|
|
133
|
+
"authorityPaths": authority_check,
|
|
124
134
|
"lock": lock_check,
|
|
125
135
|
"acceptance": acceptance_check,
|
|
126
136
|
"references": references_check,
|
|
@@ -170,6 +180,7 @@ def build_package_audit(
|
|
|
170
180
|
"packageFiles": package_files,
|
|
171
181
|
"manifest": manifest_check,
|
|
172
182
|
"completeness": completeness_check,
|
|
183
|
+
"authorityPaths": authority_check,
|
|
173
184
|
"lock": lock_check,
|
|
174
185
|
"acceptance": acceptance_check,
|
|
175
186
|
"references": references_check,
|
|
@@ -219,6 +230,7 @@ def build_finding_check_adoption_audit(
|
|
|
219
230
|
def validate_package_audit(audit: dict[str, Any]) -> dict[str, Any]:
|
|
220
231
|
"""Validate the integrity and top-level semantics of a package receipt."""
|
|
221
232
|
|
|
233
|
+
require_review_text(audit)
|
|
222
234
|
blockers: list[dict[str, Any]] = []
|
|
223
235
|
if audit.get("schemaVersion") != PACKAGE_AUDIT_SCHEMA:
|
|
224
236
|
blockers.append({"code": "package-audit-schema", "message": "unsupported package audit schemaVersion"})
|
{agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/git.py
RENAMED
|
@@ -24,6 +24,7 @@ def changed_files(cwd: Path, *, base: str | None = None) -> list[str]:
|
|
|
24
24
|
"diff",
|
|
25
25
|
"--no-ext-diff",
|
|
26
26
|
"--no-textconv",
|
|
27
|
+
"--no-renames",
|
|
27
28
|
"--name-only",
|
|
28
29
|
"-z",
|
|
29
30
|
"--end-of-options",
|
|
@@ -36,13 +37,23 @@ def changed_files(cwd: Path, *, base: str | None = None) -> list[str]:
|
|
|
36
37
|
paths.update(
|
|
37
38
|
_git_paths(
|
|
38
39
|
cwd,
|
|
39
|
-
["git", "diff", "--no-ext-diff", "--no-textconv", "--name-only", "-z", "--"],
|
|
40
|
+
["git", "diff", "--no-ext-diff", "--no-textconv", "--no-renames", "--name-only", "-z", "--"],
|
|
40
41
|
)
|
|
41
42
|
)
|
|
42
43
|
paths.update(
|
|
43
44
|
_git_paths(
|
|
44
45
|
cwd,
|
|
45
|
-
[
|
|
46
|
+
[
|
|
47
|
+
"git",
|
|
48
|
+
"diff",
|
|
49
|
+
"--no-ext-diff",
|
|
50
|
+
"--no-textconv",
|
|
51
|
+
"--no-renames",
|
|
52
|
+
"--name-only",
|
|
53
|
+
"-z",
|
|
54
|
+
"--cached",
|
|
55
|
+
"--",
|
|
56
|
+
],
|
|
46
57
|
)
|
|
47
58
|
)
|
|
48
59
|
paths.update(_git_paths(cwd, ["git", "ls-files", "--others", "--exclude-standard", "-z"]))
|
{agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/snapshot.py
RENAMED
|
@@ -11,7 +11,11 @@ from typing import Any
|
|
|
11
11
|
|
|
12
12
|
from agent_lifecycle.changesets.git import GIT_TIMEOUT_SECONDS, changed_files, resolve_revision
|
|
13
13
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest
|
|
14
|
-
from agent_lifecycle.contracts.ownership_paths import
|
|
14
|
+
from agent_lifecycle.contracts.ownership_paths import (
|
|
15
|
+
is_under_authority_path,
|
|
16
|
+
normalize_authority_path,
|
|
17
|
+
observed_authority_paths,
|
|
18
|
+
)
|
|
15
19
|
from agent_lifecycle.contracts.paths import normalize_repo_path, read_stable_repository_file
|
|
16
20
|
|
|
17
21
|
MAX_CHANGED_FILES = 10_000
|
|
@@ -38,7 +42,12 @@ def capture_task_change_set(
|
|
|
38
42
|
"changed file count exceeds the task snapshot limit",
|
|
39
43
|
{"count": len(all_changed), "maxFiles": MAX_CHANGED_FILES},
|
|
40
44
|
)
|
|
41
|
-
|
|
45
|
+
all_changed = observed_authority_paths(all_changed, operation_root=root)
|
|
46
|
+
scoped = [
|
|
47
|
+
path
|
|
48
|
+
for path in all_changed
|
|
49
|
+
if any(is_under_authority_path(path, prefix, operation_root=root) for prefix in authority)
|
|
50
|
+
]
|
|
42
51
|
transitions: list[dict[str, Any]] = []
|
|
43
52
|
current_entries: list[dict[str, Any]] = []
|
|
44
53
|
total_bytes = 0
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""Metrics-specific dispatch helpers for the observability facade."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import argparse
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object, write_json_create
|
|
10
|
+
from agent_lifecycle.metrics import require_lifecycle_recommendation_pass
|
|
11
|
+
from agent_lifecycle.metrics.recommendations import recommend_from_workflow_comparison
|
|
12
|
+
from agent_lifecycle.metrics.regression_signals import (
|
|
13
|
+
compare_workflow_economics,
|
|
14
|
+
validate_workflow_economics_comparison_view,
|
|
15
|
+
workflow_comparison_context_from_fixture,
|
|
16
|
+
)
|
|
17
|
+
from agent_lifecycle.reporting.execution_resources import (
|
|
18
|
+
build_execution_resource_report,
|
|
19
|
+
validate_execution_resource_report,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def _dispatch_execution_report(args: argparse.Namespace) -> dict[str, Any]:
|
|
24
|
+
receipts: list[dict[str, Any]] = []
|
|
25
|
+
for item in args.receipt:
|
|
26
|
+
payload = read_json_object(Path(item), label="process execution receipt")
|
|
27
|
+
raw_receipt = payload.get("processReceipt")
|
|
28
|
+
candidate = raw_receipt if isinstance(raw_receipt, dict) else payload
|
|
29
|
+
receipts.append(candidate)
|
|
30
|
+
lineage = {"operationId": args.operation_id} if args.operation_id else None
|
|
31
|
+
report = build_execution_resource_report(receipts, lineage=lineage)
|
|
32
|
+
validation = validate_execution_resource_report(report)
|
|
33
|
+
write_json_create(Path(args.out), report)
|
|
34
|
+
return {
|
|
35
|
+
"schemaVersion": "agent-execution-resource-report-generation.v1",
|
|
36
|
+
"status": validation["status"],
|
|
37
|
+
"reportPath": args.out,
|
|
38
|
+
"reportDigest": canonical_digest(report),
|
|
39
|
+
"validation": validation,
|
|
40
|
+
"liveCallsStarted": False,
|
|
41
|
+
"productionPromotionClaimed": False,
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _dispatch_workflow_compare(args: argparse.Namespace) -> dict[str, Any]:
|
|
46
|
+
before = workflow_comparison_context_from_fixture(
|
|
47
|
+
read_json_object(Path(args.before), label="workflow comparison before fixture")
|
|
48
|
+
)
|
|
49
|
+
after = workflow_comparison_context_from_fixture(
|
|
50
|
+
read_json_object(Path(args.after), label="workflow comparison after fixture")
|
|
51
|
+
)
|
|
52
|
+
comparison_pair = (
|
|
53
|
+
read_json_object(Path(args.comparison_pair), label="workflow comparison pair") if args.comparison_pair else None
|
|
54
|
+
)
|
|
55
|
+
comparison = compare_workflow_economics(before, after, comparison_pair=comparison_pair)
|
|
56
|
+
validation = validate_workflow_economics_comparison_view(comparison)
|
|
57
|
+
if validation["status"] != "PASS":
|
|
58
|
+
raise LifecycleError(
|
|
59
|
+
"workflow-comparison-invalid",
|
|
60
|
+
"workflow economics comparison failed validation",
|
|
61
|
+
{"validation": validation},
|
|
62
|
+
)
|
|
63
|
+
write_json_create(Path(args.out), comparison)
|
|
64
|
+
return comparison
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _dispatch_workflow_recommend(args: argparse.Namespace) -> dict[str, Any]:
|
|
68
|
+
comparison = read_json_object(Path(args.comparison), label="workflow economics comparison")
|
|
69
|
+
validation = validate_workflow_economics_comparison_view(comparison)
|
|
70
|
+
if validation["status"] != "PASS":
|
|
71
|
+
raise LifecycleError(
|
|
72
|
+
"workflow-comparison-invalid",
|
|
73
|
+
"workflow economics comparison failed validation",
|
|
74
|
+
{"validation": validation},
|
|
75
|
+
)
|
|
76
|
+
recommendation = recommend_from_workflow_comparison(
|
|
77
|
+
comparison=comparison,
|
|
78
|
+
task_shape=args.task_shape,
|
|
79
|
+
current_mode=args.current_mode,
|
|
80
|
+
required_mode=args.required_mode,
|
|
81
|
+
protected_work=args.protected_work,
|
|
82
|
+
)
|
|
83
|
+
require_lifecycle_recommendation_pass(recommendation)
|
|
84
|
+
write_json_create(Path(args.out), recommendation)
|
|
85
|
+
return recommendation
|
|
@@ -7,7 +7,11 @@ from datetime import UTC, datetime
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import Any
|
|
9
9
|
|
|
10
|
-
from agent_lifecycle.cli.dispatch_metrics import
|
|
10
|
+
from agent_lifecycle.cli.dispatch_metrics import (
|
|
11
|
+
_dispatch_execution_report,
|
|
12
|
+
_dispatch_workflow_compare,
|
|
13
|
+
_dispatch_workflow_recommend,
|
|
14
|
+
)
|
|
11
15
|
from agent_lifecycle.context import check_context, load_context_profile, render_context
|
|
12
16
|
from agent_lifecycle.context.checkpoint_store import (
|
|
13
17
|
restore_context_checkpoint,
|
|
@@ -452,18 +456,14 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
452
456
|
if args.model_command == "route":
|
|
453
457
|
routing_profile = read_json_object(Path(args.profile), label="model routing profile")
|
|
454
458
|
host_profile = (
|
|
455
|
-
read_json_object(Path(args.host_profile), label="host model profile")
|
|
456
|
-
if args.host_profile
|
|
457
|
-
else None
|
|
459
|
+
read_json_object(Path(args.host_profile), label="host model profile") if args.host_profile else None
|
|
458
460
|
)
|
|
459
461
|
request = read_json_object(Path(args.request), label="model route request")
|
|
460
462
|
return resolve_model_route(request, routing_profile, host_profile=host_profile)
|
|
461
463
|
if args.model_command == "usage-check":
|
|
462
464
|
receipt = read_json_object(Path(args.receipt), label="model usage receipt")
|
|
463
465
|
decision = (
|
|
464
|
-
read_json_object(Path(args.route_decision), label="model route decision")
|
|
465
|
-
if args.route_decision
|
|
466
|
-
else None
|
|
466
|
+
read_json_object(Path(args.route_decision), label="model route decision") if args.route_decision else None
|
|
467
467
|
)
|
|
468
468
|
targets = read_json_object(Path(args.budget_targets), label="budget targets") if args.budget_targets else None
|
|
469
469
|
result = validate_usage_receipt(receipt, budget_targets=targets, route_decision=decision)
|
|
@@ -512,6 +512,10 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
512
512
|
return _dispatch_phase_resources(args)
|
|
513
513
|
if args.metrics_command == "release-accounting":
|
|
514
514
|
return _dispatch_release_accounting(args)
|
|
515
|
+
if args.metrics_command == "workflow-compare":
|
|
516
|
+
return _dispatch_workflow_compare(args)
|
|
517
|
+
if args.metrics_command == "workflow-recommend":
|
|
518
|
+
return _dispatch_workflow_recommend(args)
|
|
515
519
|
if args.metrics_command == "usage-export":
|
|
516
520
|
export = build_usage_export(
|
|
517
521
|
artifact_paths=[Path(item) for item in args.artifact],
|
|
@@ -591,9 +595,7 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
591
595
|
if args.metrics_command == "audit-proposal":
|
|
592
596
|
report = read_json_object(Path(args.report), label="audit optimization report")
|
|
593
597
|
raw_recommendation = report.get("recommendation")
|
|
594
|
-
proposal_recommendation: dict[str, Any] = (
|
|
595
|
-
raw_recommendation if isinstance(raw_recommendation, dict) else {}
|
|
596
|
-
)
|
|
598
|
+
proposal_recommendation: dict[str, Any] = raw_recommendation if isinstance(raw_recommendation, dict) else {}
|
|
597
599
|
proposal = build_optimization_proposal(
|
|
598
600
|
proposal_recommendation,
|
|
599
601
|
approved=args.approved,
|
|
@@ -648,9 +650,7 @@ def _dispatch_phase_resources(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
648
650
|
|
|
649
651
|
def _dispatch_release_accounting(args: argparse.Namespace) -> dict[str, Any]:
|
|
650
652
|
declared_provenance = (
|
|
651
|
-
read_json_object(Path(args.provenance), label="release accounting provenance")
|
|
652
|
-
if args.provenance
|
|
653
|
-
else None
|
|
653
|
+
read_json_object(Path(args.provenance), label="release accounting provenance") if args.provenance else None
|
|
654
654
|
)
|
|
655
655
|
accounting = build_release_accounting(
|
|
656
656
|
args.release_id,
|
{agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/metrics_parser.py
RENAMED
|
@@ -31,6 +31,24 @@ def add_metrics_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
31
31
|
release_accounting.add_argument("--project-root", default=".")
|
|
32
32
|
release_accounting.add_argument("--provenance")
|
|
33
33
|
release_accounting.add_argument("--out", required=True)
|
|
34
|
+
workflow_compare = metrics_sub.add_parser(
|
|
35
|
+
"workflow-compare",
|
|
36
|
+
help="compare two explicitly bound workflow economics fixtures",
|
|
37
|
+
)
|
|
38
|
+
workflow_compare.add_argument("--before", required=True)
|
|
39
|
+
workflow_compare.add_argument("--after", required=True)
|
|
40
|
+
workflow_compare.add_argument("--comparison-pair")
|
|
41
|
+
workflow_compare.add_argument("--out", required=True)
|
|
42
|
+
workflow_recommend = metrics_sub.add_parser(
|
|
43
|
+
"workflow-recommend",
|
|
44
|
+
help="build an advisory recommendation from a workflow comparison",
|
|
45
|
+
)
|
|
46
|
+
workflow_recommend.add_argument("--comparison", required=True)
|
|
47
|
+
workflow_recommend.add_argument("--task-shape", default="feature")
|
|
48
|
+
workflow_recommend.add_argument("--current-mode", choices=MODES, required=True)
|
|
49
|
+
workflow_recommend.add_argument("--required-mode", choices=MODES, required=True)
|
|
50
|
+
workflow_recommend.add_argument("--protected-work", action="store_true")
|
|
51
|
+
workflow_recommend.add_argument("--out", required=True)
|
|
34
52
|
usage_export = metrics_sub.add_parser("usage-export")
|
|
35
53
|
usage_export.add_argument("--artifact", action="append", default=[])
|
|
36
54
|
usage_export.add_argument("--project-root", default=".")
|