agent-lifecycle-kit 2.13.0__tar.gz → 2.14.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.14.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/README.md +2 -2
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/_version.py +1 -1
- agent_lifecycle_kit-2.14.0/src/agent_lifecycle/cli/dispatch_metrics.py +85 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_observability.py +13 -13
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/metrics_parser.py +18 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/metric_schemas.py +3 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +2 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +83 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/__init__.py +14 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/audit_efficiency.py +75 -8
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/cost_collection.py +8 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/phase_resources.py +47 -2
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/recommendations.py +101 -12
- agent_lifecycle_kit-2.14.0/src/agent_lifecycle/metrics/regression_signals.py +735 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/release_accounting.py +102 -11
- agent_lifecycle_kit-2.14.0/src/agent_lifecycle/metrics/workflow_economics.py +218 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/execution_resources.py +43 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +1 -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/metrics/regression_signals.py +0 -92
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.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.14.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.14.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.14.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.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.14.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.14.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.14.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. 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.14.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. 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.14.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"
|
|
@@ -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.14.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=".")
|
|
@@ -17,6 +17,7 @@ METRIC_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
17
17
|
"sourceArtifacts": {"type": "array", "items": {"type": "object"}},
|
|
18
18
|
"lineage": {"type": "object"},
|
|
19
19
|
"usageConfidence": {"type": "object"},
|
|
20
|
+
"workflowEconomics": {"type": "array", "items": {"type": "object"}},
|
|
20
21
|
"compactSummary": {"type": "object"},
|
|
21
22
|
"limits": {"type": "object"},
|
|
22
23
|
"overLimitReason": {"type": "string"},
|
|
@@ -79,6 +80,7 @@ METRIC_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
79
80
|
"categoryTotals": {"type": "object"},
|
|
80
81
|
"ratios": {"type": "object"},
|
|
81
82
|
"usageConfidence": {"type": "object"},
|
|
83
|
+
"workflowEconomics": {"type": "array", "items": {"type": "object"}},
|
|
82
84
|
"usefulWorkTokens": {"type": "integer", "minimum": 0},
|
|
83
85
|
"processOverheadTokens": {"type": "integer", "minimum": 0},
|
|
84
86
|
},
|
|
@@ -294,6 +296,7 @@ METRIC_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
294
296
|
"phases": {"type": "array", "minItems": 1, "maxItems": 256, "items": {"type": "object"}},
|
|
295
297
|
"usageExport": {"type": "object"},
|
|
296
298
|
"totals": {"type": "object"},
|
|
299
|
+
"workflowEconomics": {"type": "object"},
|
|
297
300
|
"blockers": {"type": "array", "items": {"type": "object"}},
|
|
298
301
|
"productionPromotionClaimed": {"const": False},
|
|
299
302
|
"measurementDigest": {"type": "string", "minLength": 64, "maxLength": 64},
|
|
@@ -28,6 +28,7 @@ RELEASE_ACCOUNTING_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
28
28
|
"releaseId": {"type": "string", "minLength": 1, "maxLength": 256},
|
|
29
29
|
"entryCount": {"type": "integer", "minimum": 1, "maximum": 1024},
|
|
30
30
|
"entries": {"type": "array", "minItems": 1, "maxItems": 1024, "items": {"type": "object"}},
|
|
31
|
+
"workflowEconomics": {"type": "object"},
|
|
31
32
|
"provenance": {"type": "object"},
|
|
32
33
|
"blockers": _BLOCKERS,
|
|
33
34
|
"productionPromotionClaimed": {"const": False},
|
|
@@ -64,6 +65,7 @@ RELEASE_ACCOUNTING_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
|
64
65
|
"views": {"type": "object"},
|
|
65
66
|
"categoryTotals": {"type": "object"},
|
|
66
67
|
"totals": {"type": "object"},
|
|
68
|
+
"workflowEconomics": {"type": "object"},
|
|
67
69
|
"exclusions": {"type": "array", "items": {"type": "object"}},
|
|
68
70
|
"provenance": {"type": "object"},
|
|
69
71
|
"blockers": _BLOCKERS,
|
|
@@ -9,8 +9,90 @@ from agent_lifecycle.contracts.schema_builders import open_object_schema
|
|
|
9
9
|
|
|
10
10
|
_DIGEST = {"type": "string", "minLength": 64, "maxLength": 64}
|
|
11
11
|
_IMPLEMENTATION_REQUIRED = ["role", "sourceRevision", "coreVersion", "publicationVersions"]
|
|
12
|
+
_SOURCE_STATUS = ["MEASURED", "ESTIMATED", "TIME_WINDOW_ONLY", "UNAVAILABLE"]
|
|
13
|
+
_AGGREGATE_STATUS = [*_SOURCE_STATUS, "MIXED", "PARTIAL"]
|
|
14
|
+
_NON_WINDOW_AGGREGATE_STATUS = [status for status in _AGGREGATE_STATUS if status != "TIME_WINDOW_ONLY"]
|
|
15
|
+
_WORKFLOW_METRIC_KEYS = (
|
|
16
|
+
"modelInputTokens",
|
|
17
|
+
"modelCachedInputTokens",
|
|
18
|
+
"modelOutputTokens",
|
|
19
|
+
"modelTurns",
|
|
20
|
+
"toolCalls",
|
|
21
|
+
"toolWallMs",
|
|
22
|
+
"toolOutputBytes",
|
|
23
|
+
"packetBytes",
|
|
24
|
+
"controllerTransitions",
|
|
25
|
+
"requiredGateCount",
|
|
26
|
+
"passedGateCount",
|
|
27
|
+
"failedGateCount",
|
|
28
|
+
"elapsedWallMs",
|
|
29
|
+
"parallelComputeMs",
|
|
30
|
+
)
|
|
31
|
+
_METRIC_VALUE = {"type": ["integer", "null"], "minimum": 0, "maximum": (1 << 63) - 1}
|
|
32
|
+
_SOURCE_METRIC = {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"required": ["status", "value"],
|
|
35
|
+
"properties": {"status": {"enum": _SOURCE_STATUS}, "value": _METRIC_VALUE},
|
|
36
|
+
"additionalProperties": False,
|
|
37
|
+
}
|
|
38
|
+
_AGGREGATE_METRIC = {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"required": ["status", "value"],
|
|
41
|
+
"properties": {"status": {"enum": _AGGREGATE_STATUS}, "value": _METRIC_VALUE},
|
|
42
|
+
"additionalProperties": False,
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _aggregate_metric_schema(name: str) -> dict[str, Any]:
|
|
47
|
+
statuses = _AGGREGATE_STATUS if name in {"elapsedWallMs", "toolWallMs"} else _NON_WINDOW_AGGREGATE_STATUS
|
|
48
|
+
return {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"required": ["status", "value"],
|
|
51
|
+
"properties": {"status": {"enum": statuses}, "value": _METRIC_VALUE},
|
|
52
|
+
"additionalProperties": False,
|
|
53
|
+
}
|
|
54
|
+
|
|
12
55
|
|
|
13
56
|
WORKFLOW_ECONOMICS_SCHEMAS: dict[str, dict[str, Any]] = {
|
|
57
|
+
"agent-workflow-resource-summary.v1": open_object_schema(
|
|
58
|
+
"agent-workflow-resource-summary.v1",
|
|
59
|
+
required=[
|
|
60
|
+
"schemaVersion",
|
|
61
|
+
"status",
|
|
62
|
+
"sourceAvailabilityStatuses",
|
|
63
|
+
"derivedAggregateStatuses",
|
|
64
|
+
"sourceCount",
|
|
65
|
+
"enclosingElapsedWall",
|
|
66
|
+
"metrics",
|
|
67
|
+
"productionPromotionClaimed",
|
|
68
|
+
"summaryDigest",
|
|
69
|
+
],
|
|
70
|
+
properties={
|
|
71
|
+
"status": {"const": "PASS"},
|
|
72
|
+
"sourceAvailabilityStatuses": {"const": _SOURCE_STATUS},
|
|
73
|
+
"derivedAggregateStatuses": {"const": ["MIXED", "PARTIAL"]},
|
|
74
|
+
"sourceCount": {"type": "integer", "minimum": 0, "maximum": 1024},
|
|
75
|
+
"enclosingElapsedWall": _SOURCE_METRIC,
|
|
76
|
+
"metrics": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"required": list(_WORKFLOW_METRIC_KEYS),
|
|
79
|
+
"properties": {name: _aggregate_metric_schema(name) for name in _WORKFLOW_METRIC_KEYS},
|
|
80
|
+
"additionalProperties": False,
|
|
81
|
+
},
|
|
82
|
+
"productionPromotionClaimed": {"const": False},
|
|
83
|
+
"summaryDigest": _DIGEST,
|
|
84
|
+
},
|
|
85
|
+
),
|
|
86
|
+
"agent-workflow-resource-summary-validation.v1": open_object_schema(
|
|
87
|
+
"agent-workflow-resource-summary-validation.v1",
|
|
88
|
+
required=["schemaVersion", "status", "blockers", "summaryDigest", "validationDigest"],
|
|
89
|
+
properties={
|
|
90
|
+
"status": {"enum": ["PASS", "FAIL"]},
|
|
91
|
+
"blockers": {"type": "array", "items": {"type": "object"}},
|
|
92
|
+
"summaryDigest": {"type": ["string", "null"], "minLength": 64, "maxLength": 64},
|
|
93
|
+
"validationDigest": _DIGEST,
|
|
94
|
+
},
|
|
95
|
+
),
|
|
14
96
|
"agent-comparable-workload-identity.v1": open_object_schema(
|
|
15
97
|
"agent-comparable-workload-identity.v1",
|
|
16
98
|
required=[
|
|
@@ -154,9 +236,7 @@ def validate_workflow_economics_comparison(
|
|
|
154
236
|
workload_identity = {}
|
|
155
237
|
blockers.append({"code": "comparison-workload-identity-invalid"})
|
|
156
238
|
else:
|
|
157
|
-
identity_body = {
|
|
158
|
-
key: value for key, value in workload_identity.items() if key != "workloadIdentityDigest"
|
|
159
|
-
}
|
|
239
|
+
identity_body = {key: value for key, value in workload_identity.items() if key != "workloadIdentityDigest"}
|
|
160
240
|
if workload_identity.get("workloadIdentityDigest") != canonical_digest(identity_body):
|
|
161
241
|
blockers.append({"code": "comparison-workload-identity-digest-invalid"})
|
|
162
242
|
|
{agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/__init__.py
RENAMED
|
@@ -47,15 +47,26 @@ from agent_lifecycle.metrics.usage_export import (
|
|
|
47
47
|
usage_export_totals,
|
|
48
48
|
validate_usage_export,
|
|
49
49
|
)
|
|
50
|
+
from agent_lifecycle.metrics.workflow_economics import (
|
|
51
|
+
DERIVED_AGGREGATE_STATUSES,
|
|
52
|
+
SOURCE_AVAILABILITY_STATUSES,
|
|
53
|
+
WORKFLOW_METRIC_KEYS,
|
|
54
|
+
build_workflow_metric_set,
|
|
55
|
+
build_workflow_resource_summary,
|
|
56
|
+
validate_workflow_resource_summary,
|
|
57
|
+
)
|
|
50
58
|
|
|
51
59
|
__all__ = [
|
|
52
60
|
"ACCOUNTING_VIEWS",
|
|
53
61
|
"COST_CATEGORIES",
|
|
54
62
|
"DEFAULT_MODE_LIMITS",
|
|
63
|
+
"DERIVED_AGGREGATE_STATUSES",
|
|
55
64
|
"MAX_PHASE_RESOURCE_ENTRIES",
|
|
56
65
|
"MAX_RELEASE_ACCOUNTING_ARTIFACTS",
|
|
57
66
|
"MAX_RELEASE_ACCOUNTING_ENTRIES",
|
|
58
67
|
"PROVENANCE_FIELDS",
|
|
68
|
+
"SOURCE_AVAILABILITY_STATUSES",
|
|
69
|
+
"WORKFLOW_METRIC_KEYS",
|
|
59
70
|
"build_lifecycle_cost_summary",
|
|
60
71
|
"build_lifecycle_recommendation_summary",
|
|
61
72
|
"build_phase_resource_measurement",
|
|
@@ -65,6 +76,8 @@ __all__ = [
|
|
|
65
76
|
"build_release_accounting_source",
|
|
66
77
|
"build_task_outcome_index",
|
|
67
78
|
"build_usage_export",
|
|
79
|
+
"build_workflow_metric_set",
|
|
80
|
+
"build_workflow_resource_summary",
|
|
68
81
|
"generate_lifecycle_cost_report",
|
|
69
82
|
"recommend_from_quality_cost_signals",
|
|
70
83
|
"recommend_lifecycle_mode",
|
|
@@ -82,6 +95,7 @@ __all__ = [
|
|
|
82
95
|
"validate_release_accounting",
|
|
83
96
|
"validate_release_accounting_source",
|
|
84
97
|
"validate_usage_export",
|
|
98
|
+
"validate_workflow_resource_summary",
|
|
85
99
|
]
|
|
86
100
|
|
|
87
101
|
_LAZY_AUDIT_OPTIMIZATION_EXPORTS = {
|
|
@@ -9,8 +9,12 @@ from agent_lifecycle.contracts.audit_optimization_schemas import (
|
|
|
9
9
|
AUDIT_EFFICIENCY_INPUT_SCHEMA,
|
|
10
10
|
AUDIT_EFFICIENCY_REPORT_SCHEMA,
|
|
11
11
|
)
|
|
12
|
+
from agent_lifecycle.metrics.regression_signals import (
|
|
13
|
+
compare_workflow_economics,
|
|
14
|
+
validate_workflow_economics_comparison_view,
|
|
15
|
+
)
|
|
12
16
|
|
|
13
|
-
METRIC_STATUSES = ("MEASURED", "ESTIMATED", "TIME_WINDOW_ONLY", "
|
|
17
|
+
METRIC_STATUSES = ("MEASURED", "ESTIMATED", "TIME_WINDOW_ONLY", "UNAVAILABLE")
|
|
14
18
|
_VIEW_NAMES = ("alkProcess", "implementation", "audit", "postAuditRemediation")
|
|
15
19
|
_VIEW_METRICS = ("tokens", "elapsedWallMs", "computeMs")
|
|
16
20
|
_OUTCOME_METRICS = (
|
|
@@ -31,6 +35,8 @@ def build_audit_efficiency_input(
|
|
|
31
35
|
views: dict[str, Any],
|
|
32
36
|
outcomes: dict[str, Any],
|
|
33
37
|
totals: dict[str, Any],
|
|
38
|
+
comparison_context: dict[str, Any] | None = None,
|
|
39
|
+
comparison_pair: dict[str, Any] | None = None,
|
|
34
40
|
) -> dict[str, Any]:
|
|
35
41
|
"""Build a portable accounting input without inventing unavailable values."""
|
|
36
42
|
|
|
@@ -45,6 +51,10 @@ def build_audit_efficiency_input(
|
|
|
45
51
|
"totals": totals,
|
|
46
52
|
"productionPromotionClaimed": False,
|
|
47
53
|
}
|
|
54
|
+
if comparison_context is not None:
|
|
55
|
+
body["comparisonContext"] = comparison_context
|
|
56
|
+
if comparison_pair is not None:
|
|
57
|
+
body["comparisonPair"] = comparison_pair
|
|
48
58
|
result = {**body, "inputDigest": canonical_digest(body)}
|
|
49
59
|
validation = validate_audit_efficiency_input(result)
|
|
50
60
|
if validation["status"] != "PASS":
|
|
@@ -107,6 +117,7 @@ def validate_audit_efficiency_input(value: Any) -> dict[str, Any]:
|
|
|
107
117
|
blockers,
|
|
108
118
|
code="audit-efficiency-total-metric-invalid",
|
|
109
119
|
location="totals.elapsedWallMs",
|
|
120
|
+
allow_derived=True,
|
|
110
121
|
)
|
|
111
122
|
if value.get("productionPromotionClaimed") is not False:
|
|
112
123
|
blockers.append({"code": "audit-efficiency-production-claim"})
|
|
@@ -181,6 +192,15 @@ def validate_audit_efficiency_report(report: Any) -> dict[str, Any]:
|
|
|
181
192
|
metric = comparison.get(field)
|
|
182
193
|
if metric != _unavailable("comparison-sample-required"):
|
|
183
194
|
blockers.append({"code": "audit-efficiency-single-sample-reduction", "field": field})
|
|
195
|
+
workflow_comparison = comparison.get("workflowComparison")
|
|
196
|
+
if workflow_comparison is not None:
|
|
197
|
+
workflow_validation = validate_workflow_economics_comparison_view(workflow_comparison)
|
|
198
|
+
if workflow_validation["status"] != "PASS":
|
|
199
|
+
blockers.append({"code": "audit-efficiency-workflow-comparison-invalid"})
|
|
200
|
+
if workflow_comparison.get("status") != "IMPROVED":
|
|
201
|
+
for field in ("tokenReductionPercent", "wallReductionPercent"):
|
|
202
|
+
if _available(comparison.get(field)):
|
|
203
|
+
blockers.append({"code": "audit-efficiency-unproven-reduction", "field": field})
|
|
184
204
|
expected = canonical_digest({key: item for key, item in report.items() if key != "reportDigest"})
|
|
185
205
|
if report.get("reportDigest") != expected:
|
|
186
206
|
blockers.append({"code": "audit-efficiency-report-digest-mismatch"})
|
|
@@ -265,16 +285,61 @@ def _comparison(
|
|
|
265
285
|
"wallReductionPercent": _unavailable("comparison-telemetry-unavailable"),
|
|
266
286
|
"qualityFloorPreserved": True,
|
|
267
287
|
}
|
|
288
|
+
before_context = baseline.get("comparisonContext")
|
|
289
|
+
after_context = measurement.get("comparisonContext")
|
|
290
|
+
if not isinstance(before_context, dict) or not isinstance(after_context, dict):
|
|
291
|
+
blockers.append({"code": "audit-efficiency-comparison-context-unavailable"})
|
|
292
|
+
return {
|
|
293
|
+
"sampleCount": sample_count,
|
|
294
|
+
"workflowStatus": "NO_COMPARABLE_BASELINE",
|
|
295
|
+
"tokenReductionPercent": _unavailable("comparison-context-unavailable"),
|
|
296
|
+
"wallReductionPercent": _unavailable("comparison-context-unavailable"),
|
|
297
|
+
"qualityFloorPreserved": True,
|
|
298
|
+
}
|
|
299
|
+
before_pair = baseline.get("comparisonPair")
|
|
300
|
+
after_pair = measurement.get("comparisonPair")
|
|
301
|
+
pair = before_pair if before_pair == after_pair and isinstance(before_pair, dict) else None
|
|
302
|
+
if (before_pair is None) != (after_pair is None) or (
|
|
303
|
+
before_pair is not None and after_pair is not None and before_pair != after_pair
|
|
304
|
+
):
|
|
305
|
+
blockers.append({"code": "audit-efficiency-comparison-pair-mismatch"})
|
|
306
|
+
workflow_comparison = compare_workflow_economics(before_context, after_context, comparison_pair=pair)
|
|
307
|
+
workflow_validation = validate_workflow_economics_comparison_view(workflow_comparison)
|
|
308
|
+
if workflow_validation["status"] != "PASS":
|
|
309
|
+
blockers.append({"code": "audit-efficiency-workflow-comparison-invalid", "validation": workflow_validation})
|
|
310
|
+
if workflow_comparison["status"] == "NO_COMPARABLE_BASELINE":
|
|
311
|
+
blockers.append(
|
|
312
|
+
{
|
|
313
|
+
"code": "audit-efficiency-workflow-baseline-not-comparable",
|
|
314
|
+
"comparisonBlockers": workflow_comparison["blockers"],
|
|
315
|
+
}
|
|
316
|
+
)
|
|
317
|
+
if workflow_comparison["assurance"]["status"] == "WEAKER":
|
|
318
|
+
blockers.append(
|
|
319
|
+
{
|
|
320
|
+
"code": "audit-efficiency-assurance-weakened",
|
|
321
|
+
"reasons": workflow_comparison["assurance"]["reasons"],
|
|
322
|
+
}
|
|
323
|
+
)
|
|
324
|
+
reductions_allowed = workflow_comparison["status"] == "IMPROVED" and not blockers
|
|
268
325
|
return {
|
|
269
326
|
"sampleCount": sample_count,
|
|
270
|
-
"
|
|
271
|
-
|
|
327
|
+
"workflowStatus": workflow_comparison["status"],
|
|
328
|
+
"workflowComparison": workflow_comparison,
|
|
329
|
+
"tokenReductionPercent": (
|
|
330
|
+
_reduction(baseline["views"]["audit"]["tokens"], measurement["views"]["audit"]["tokens"])
|
|
331
|
+
if reductions_allowed
|
|
332
|
+
else _unavailable("workflow-improvement-not-proven")
|
|
272
333
|
),
|
|
273
|
-
"wallReductionPercent":
|
|
274
|
-
|
|
275
|
-
|
|
334
|
+
"wallReductionPercent": (
|
|
335
|
+
_reduction(
|
|
336
|
+
baseline["views"]["audit"]["elapsedWallMs"],
|
|
337
|
+
measurement["views"]["audit"]["elapsedWallMs"],
|
|
338
|
+
)
|
|
339
|
+
if reductions_allowed
|
|
340
|
+
else _unavailable("workflow-improvement-not-proven")
|
|
276
341
|
),
|
|
277
|
-
"qualityFloorPreserved":
|
|
342
|
+
"qualityFloorPreserved": workflow_comparison["assurance"]["status"] != "WEAKER",
|
|
278
343
|
}
|
|
279
344
|
|
|
280
345
|
|
|
@@ -322,8 +387,10 @@ def _validate_metric(
|
|
|
322
387
|
code: str,
|
|
323
388
|
location: str,
|
|
324
389
|
integer: bool = False,
|
|
390
|
+
allow_derived: bool = False,
|
|
325
391
|
) -> None:
|
|
326
|
-
|
|
392
|
+
allowed_statuses = {*METRIC_STATUSES, "MIXED", "PARTIAL"} if allow_derived else set(METRIC_STATUSES)
|
|
393
|
+
if not isinstance(metric, dict) or metric.get("status") not in allowed_statuses:
|
|
327
394
|
blockers.append({"code": code, "location": location})
|
|
328
395
|
return
|
|
329
396
|
value = metric.get("value")
|
|
@@ -48,6 +48,9 @@ def generate_lifecycle_cost_report(
|
|
|
48
48
|
"lineage": _lineage(source_artifacts, payloads),
|
|
49
49
|
"entries": entries,
|
|
50
50
|
"usageConfidence": summarize_usage_confidence(entries),
|
|
51
|
+
"workflowEconomics": [
|
|
52
|
+
entry["workflowEconomics"] for entry in entries if isinstance(entry.get("workflowEconomics"), dict)
|
|
53
|
+
],
|
|
51
54
|
"productionPromotionClaimed": False,
|
|
52
55
|
}
|
|
53
56
|
report["compactSummary"] = build_lifecycle_cost_summary(report)
|
|
@@ -91,6 +94,7 @@ def build_lifecycle_cost_summary(report: dict[str, Any]) -> dict[str, Any]:
|
|
|
91
94
|
"categoryTotals": totals,
|
|
92
95
|
"ratios": ratios,
|
|
93
96
|
"usageConfidence": usage_confidence,
|
|
97
|
+
"workflowEconomics": report.get("workflowEconomics", []),
|
|
94
98
|
"usefulWorkTokens": totals["implementation"]["tokens"] + totals["productValidation"]["tokens"],
|
|
95
99
|
"processOverheadTokens": totals["pipelineCompliance"]["tokens"] + totals["coordination"]["tokens"],
|
|
96
100
|
}
|
|
@@ -140,6 +144,10 @@ def _entry_from_artifact(index: int, source: dict[str, Any], payload: dict[str,
|
|
|
140
144
|
value = payload.get(field)
|
|
141
145
|
if isinstance(value, (str, int)):
|
|
142
146
|
entry[field] = value
|
|
147
|
+
if payload.get("schemaVersion") == PHASE_RESOURCE_MEASUREMENT_SCHEMA and isinstance(
|
|
148
|
+
payload.get("workflowEconomics"), dict
|
|
149
|
+
):
|
|
150
|
+
entry["workflowEconomics"] = payload["workflowEconomics"]
|
|
143
151
|
return entry
|
|
144
152
|
|
|
145
153
|
|