agent-lifecycle-kit 2.1.0__tar.gz → 2.3.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.1.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.3.0}/PKG-INFO +4 -4
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/README.md +3 -3
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/__init__.py +32 -26
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/audit/domain_language.py +177 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/ownership.py +12 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_observability.py +86 -31
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_planning.py +2 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/observability_parsers.py +8 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/planning_parsers.py +2 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/project.py +70 -3
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/contracts/domain_language.py +479 -0
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/contracts/domain_language_schemas.py +230 -0
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/contracts/multi_run_view_schemas.py +114 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/schemas.py +4 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/__init__.py +18 -14
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/continuity.py +97 -11
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/deltas.py +45 -4
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/project/__init__.py +12 -0
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/project/domain_language.py +19 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/__init__.py +9 -3
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/reporting/attention.py +267 -0
- agent_lifecycle_kit-2.3.0/src/agent_lifecycle/reporting/multi_run.py +469 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +4 -4
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +7 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.1.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.3.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.3.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.3.0`, and common `agent-lifecycle version` errors.
|
|
47
47
|
|
|
48
48
|
For a quick start, run:
|
|
49
49
|
|
|
@@ -68,7 +68,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
|
|
|
68
68
|
- The boundaries of [planning-only launch](docs/reference/planning-only-launch.md) and [frozen-task launch through a verified profile](docs/reference/qualified-host-launch.md) are documented in the reference. Shipped planning profiles remain candidates with safe failure until the corresponding profile is verified.
|
|
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
|
-
- 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).
|
|
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), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), or coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md).
|
|
72
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.
|
|
73
73
|
## What it gives you
|
|
74
74
|
- A finish-oriented lifecycle: plan, execute, review, and prove the result.
|
|
@@ -195,7 +195,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
|
|
|
195
195
|
|
|
196
196
|
- Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
|
|
197
197
|
- Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
198
|
-
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
198
|
+
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
199
199
|
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
200
200
|
- Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
|
|
201
201
|
- Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
|
|
@@ -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.3.0`, and common `agent-lifecycle version` errors.
|
|
25
25
|
|
|
26
26
|
For a quick start, run:
|
|
27
27
|
|
|
@@ -46,7 +46,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
|
|
|
46
46
|
- The boundaries of [planning-only launch](docs/reference/planning-only-launch.md) and [frozen-task launch through a verified profile](docs/reference/qualified-host-launch.md) are documented in the reference. Shipped planning profiles remain candidates with safe failure until the corresponding profile is verified.
|
|
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
|
-
- 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).
|
|
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), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), or coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md).
|
|
50
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.
|
|
51
51
|
## What it gives you
|
|
52
52
|
- A finish-oriented lifecycle: plan, execute, review, and prove the result.
|
|
@@ -173,7 +173,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
|
|
|
173
173
|
|
|
174
174
|
- Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
|
|
175
175
|
- Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
176
|
-
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
176
|
+
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
177
177
|
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
178
178
|
- Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
|
|
179
179
|
- Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
|
|
@@ -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.3.0"
|
|
8
8
|
description = "Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.15"
|
{agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/__init__.py
RENAMED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
"""Audit helpers for frozen lifecycle plans."""
|
|
2
2
|
|
|
3
|
+
from agent_lifecycle.audit.bug_forensics import (
|
|
4
|
+
build_bug_forensics_audit,
|
|
5
|
+
require_bug_forensics_audit_pass,
|
|
6
|
+
validate_bug_forensics_audit,
|
|
7
|
+
)
|
|
8
|
+
from agent_lifecycle.audit.domain_language import (
|
|
9
|
+
build_domain_language_impact_audit,
|
|
10
|
+
validate_domain_language_impact_audit,
|
|
11
|
+
)
|
|
12
|
+
from agent_lifecycle.audit.implementation import (
|
|
13
|
+
build_final_implementation_audit,
|
|
14
|
+
build_implementation_audit_report,
|
|
15
|
+
require_implementation_audit_accepted,
|
|
16
|
+
validate_final_implementation_audit,
|
|
17
|
+
validate_implementation_audit_report,
|
|
18
|
+
)
|
|
3
19
|
from agent_lifecycle.audit.ownership import build_ownership_report
|
|
20
|
+
from agent_lifecycle.audit.package import (
|
|
21
|
+
build_package_audit,
|
|
22
|
+
require_package_audit_pass,
|
|
23
|
+
validate_package_audit,
|
|
24
|
+
)
|
|
4
25
|
from agent_lifecycle.audit.proof_integrity import (
|
|
5
26
|
build_finding_identity,
|
|
6
27
|
build_fix_impact_receipt,
|
|
@@ -23,53 +44,38 @@ from agent_lifecycle.audit.review_verdict import (
|
|
|
23
44
|
require_review_verdict_pass,
|
|
24
45
|
validate_review_verdict,
|
|
25
46
|
)
|
|
26
|
-
from agent_lifecycle.audit.bug_forensics import (
|
|
27
|
-
build_bug_forensics_audit,
|
|
28
|
-
require_bug_forensics_audit_pass,
|
|
29
|
-
validate_bug_forensics_audit,
|
|
30
|
-
)
|
|
31
|
-
from agent_lifecycle.audit.implementation import (
|
|
32
|
-
build_final_implementation_audit,
|
|
33
|
-
build_implementation_audit_report,
|
|
34
|
-
require_implementation_audit_accepted,
|
|
35
|
-
validate_final_implementation_audit,
|
|
36
|
-
validate_implementation_audit_report,
|
|
37
|
-
)
|
|
38
|
-
from agent_lifecycle.audit.package import (
|
|
39
|
-
build_package_audit,
|
|
40
|
-
require_package_audit_pass,
|
|
41
|
-
validate_package_audit,
|
|
42
|
-
)
|
|
43
47
|
|
|
44
48
|
__all__ = [
|
|
45
49
|
"build_bug_forensics_audit",
|
|
46
|
-
"
|
|
50
|
+
"build_domain_language_impact_audit",
|
|
47
51
|
"build_final_implementation_audit",
|
|
48
|
-
"build_implementation_audit_report",
|
|
49
|
-
"build_package_audit",
|
|
50
52
|
"build_finding_identity",
|
|
51
53
|
"build_fix_impact_receipt",
|
|
52
54
|
"build_hash_chain_migration_policy",
|
|
55
|
+
"build_implementation_audit_report",
|
|
56
|
+
"build_ownership_report",
|
|
57
|
+
"build_package_audit",
|
|
53
58
|
"build_proof_integrity_receipt",
|
|
54
59
|
"build_receipt_hash_chain",
|
|
55
60
|
"build_root_cause_evidence",
|
|
56
61
|
"compact_review_routing",
|
|
57
62
|
"finding_identity_fields",
|
|
58
|
-
"require_proof_integrity_pass",
|
|
59
63
|
"require_bug_forensics_audit_pass",
|
|
60
|
-
"require_review_verdict_pass",
|
|
61
64
|
"require_implementation_audit_accepted",
|
|
62
65
|
"require_package_audit_pass",
|
|
63
|
-
"
|
|
66
|
+
"require_proof_integrity_pass",
|
|
67
|
+
"require_review_verdict_pass",
|
|
64
68
|
"stable_finding_id",
|
|
65
|
-
"validate_finding_identity",
|
|
66
69
|
"validate_bug_forensics_audit",
|
|
70
|
+
"validate_domain_language_impact_audit",
|
|
67
71
|
"validate_final_implementation_audit",
|
|
68
|
-
"
|
|
72
|
+
"validate_finding_identity",
|
|
69
73
|
"validate_fix_impact_receipt",
|
|
70
74
|
"validate_hash_chain_migration_policy",
|
|
75
|
+
"validate_implementation_audit_report",
|
|
76
|
+
"validate_package_audit",
|
|
71
77
|
"validate_proof_integrity_receipt",
|
|
72
78
|
"validate_receipt_hash_chain",
|
|
73
|
-
"validate_root_cause_evidence",
|
|
74
79
|
"validate_review_verdict",
|
|
80
|
+
"validate_root_cause_evidence",
|
|
75
81
|
]
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"""Read-only impact and stale-alias audits for project vocabularies."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
from agent_lifecycle.contracts import LifecycleError, canonical_digest
|
|
9
|
+
from agent_lifecycle.contracts.domain_language import (
|
|
10
|
+
domain_language_digest,
|
|
11
|
+
language_terms,
|
|
12
|
+
validate_domain_language,
|
|
13
|
+
)
|
|
14
|
+
from agent_lifecycle.contracts.domain_language_schemas import DOMAIN_LANGUAGE_AUDIT_SCHEMA
|
|
15
|
+
from agent_lifecycle.contracts.paths import is_under_repo_path, normalize_repo_path
|
|
16
|
+
|
|
17
|
+
MAX_AUDIT_FILE_BYTES = 131072
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def build_domain_language_impact_audit(
|
|
21
|
+
language: dict[str, Any],
|
|
22
|
+
*,
|
|
23
|
+
changed_term_ids: list[str] | None = None,
|
|
24
|
+
changed_paths: list[str] | None = None,
|
|
25
|
+
project_root: Path | None = None,
|
|
26
|
+
) -> dict[str, Any]:
|
|
27
|
+
"""Report affected references and deprecated aliases without modifying files."""
|
|
28
|
+
|
|
29
|
+
blockers: list[dict[str, Any]] = []
|
|
30
|
+
validation = validate_domain_language(language, project_root=project_root)
|
|
31
|
+
if validation["status"] != "PASS":
|
|
32
|
+
blockers.append({"code": "domain-language-invalid", "validation": validation})
|
|
33
|
+
|
|
34
|
+
terms = language_terms(language)
|
|
35
|
+
selected = sorted(set(changed_term_ids or terms))
|
|
36
|
+
for term_id in selected:
|
|
37
|
+
if term_id not in terms:
|
|
38
|
+
blockers.append({"code": "domain-language-term-missing", "termId": term_id})
|
|
39
|
+
|
|
40
|
+
normalized_paths: list[str] = []
|
|
41
|
+
for raw_path in changed_paths or []:
|
|
42
|
+
try:
|
|
43
|
+
normalized_paths.append(normalize_repo_path(raw_path, label="changed domain language path"))
|
|
44
|
+
except (LifecycleError, TypeError):
|
|
45
|
+
blockers.append({"code": "domain-language-changed-path-invalid", "path": raw_path})
|
|
46
|
+
|
|
47
|
+
references: dict[tuple[str, str, str], dict[str, Any]] = {}
|
|
48
|
+
stale_aliases: list[dict[str, Any]] = []
|
|
49
|
+
for term_id in selected:
|
|
50
|
+
term = terms.get(term_id)
|
|
51
|
+
if not isinstance(term, dict):
|
|
52
|
+
continue
|
|
53
|
+
term_references = term.get("references", [])
|
|
54
|
+
for reference in term_references if isinstance(term_references, list) else []:
|
|
55
|
+
if not isinstance(reference, dict):
|
|
56
|
+
continue
|
|
57
|
+
path = reference.get("path")
|
|
58
|
+
if not isinstance(path, str):
|
|
59
|
+
continue
|
|
60
|
+
try:
|
|
61
|
+
normalized = normalize_repo_path(path, label="domain language reference path")
|
|
62
|
+
except (LifecycleError, TypeError):
|
|
63
|
+
continue
|
|
64
|
+
if normalized_paths and not any(is_under_repo_path(normalized, root) for root in normalized_paths):
|
|
65
|
+
continue
|
|
66
|
+
normalized_reference = {
|
|
67
|
+
"kind": reference.get("kind"),
|
|
68
|
+
"path": normalized,
|
|
69
|
+
**({"locator": reference["locator"]} if isinstance(reference.get("locator"), str) else {}),
|
|
70
|
+
}
|
|
71
|
+
references[(str(reference.get("kind")), normalized, str(reference.get("locator", "")))] = (
|
|
72
|
+
normalized_reference
|
|
73
|
+
)
|
|
74
|
+
content: str | None = None
|
|
75
|
+
reference_error: str | None = None
|
|
76
|
+
if project_root is not None:
|
|
77
|
+
content, reference_error = _read_reference(project_root, normalized)
|
|
78
|
+
if reference_error is not None:
|
|
79
|
+
blockers.append({"code": reference_error, "path": normalized})
|
|
80
|
+
|
|
81
|
+
aliases = term.get("aliases")
|
|
82
|
+
if not isinstance(aliases, list):
|
|
83
|
+
continue
|
|
84
|
+
for alias in aliases:
|
|
85
|
+
if not isinstance(alias, dict) or alias.get("status") != "DEPRECATED":
|
|
86
|
+
continue
|
|
87
|
+
value = alias.get("value")
|
|
88
|
+
locale = alias.get("locale")
|
|
89
|
+
if not isinstance(value, str) or not isinstance(locale, str):
|
|
90
|
+
continue
|
|
91
|
+
record = {
|
|
92
|
+
"termId": term_id,
|
|
93
|
+
"value": value,
|
|
94
|
+
"locale": locale,
|
|
95
|
+
"path": normalized,
|
|
96
|
+
"locator": reference.get("locator"),
|
|
97
|
+
"status": "DECLARED_DEPRECATED",
|
|
98
|
+
}
|
|
99
|
+
if (
|
|
100
|
+
project_root is not None
|
|
101
|
+
and reference_error is None
|
|
102
|
+
and content is not None
|
|
103
|
+
and value.casefold() in content.casefold()
|
|
104
|
+
):
|
|
105
|
+
record["status"] = "FOUND_IN_REFERENCE"
|
|
106
|
+
stale_aliases.append(record)
|
|
107
|
+
|
|
108
|
+
stale_aliases.sort(key=lambda item: (item["termId"], item["locale"], item["value"], item["path"]))
|
|
109
|
+
body = {
|
|
110
|
+
"schemaVersion": DOMAIN_LANGUAGE_AUDIT_SCHEMA,
|
|
111
|
+
"status": "FAIL" if blockers else ("DRIFT" if stale_aliases else "PASS"),
|
|
112
|
+
"languageDigest": domain_language_digest(language) if isinstance(language, dict) else None,
|
|
113
|
+
"selectedTermIds": selected,
|
|
114
|
+
"impactedReferences": [references[key] for key in sorted(references)],
|
|
115
|
+
"staleAliases": stale_aliases,
|
|
116
|
+
"blockers": blockers,
|
|
117
|
+
"readOnly": True,
|
|
118
|
+
"productionPromotionClaimed": False,
|
|
119
|
+
}
|
|
120
|
+
return {**body, "auditDigest": canonical_digest(body)}
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def validate_domain_language_impact_audit(audit: dict[str, Any]) -> dict[str, Any]:
|
|
124
|
+
"""Validate an audit envelope and preserve its read-only boundary."""
|
|
125
|
+
|
|
126
|
+
blockers: list[dict[str, Any]] = []
|
|
127
|
+
if not isinstance(audit, dict):
|
|
128
|
+
blockers.append({"code": "domain-language-audit-invalid"})
|
|
129
|
+
audit = {}
|
|
130
|
+
if audit.get("schemaVersion") != DOMAIN_LANGUAGE_AUDIT_SCHEMA:
|
|
131
|
+
blockers.append({"code": "domain-language-audit-schema-invalid"})
|
|
132
|
+
if audit.get("readOnly") is not True:
|
|
133
|
+
blockers.append({"code": "domain-language-audit-not-read-only"})
|
|
134
|
+
if audit.get("productionPromotionClaimed") is not False:
|
|
135
|
+
blockers.append({"code": "domain-language-audit-production-claim"})
|
|
136
|
+
expected = canonical_digest({key: value for key, value in audit.items() if key != "auditDigest"})
|
|
137
|
+
if audit.get("auditDigest") != expected:
|
|
138
|
+
blockers.append({"code": "domain-language-audit-digest-mismatch", "expected": expected})
|
|
139
|
+
if audit.get("status") not in {"PASS", "DRIFT", "FAIL"}:
|
|
140
|
+
blockers.append({"code": "domain-language-audit-status-invalid"})
|
|
141
|
+
report = {
|
|
142
|
+
"schemaVersion": "agent-project-domain-language-audit-validation.v1",
|
|
143
|
+
"status": "PASS" if not blockers else "FAIL",
|
|
144
|
+
"auditStatus": audit.get("status"),
|
|
145
|
+
"blockers": blockers,
|
|
146
|
+
"productionPromotionClaimed": False,
|
|
147
|
+
}
|
|
148
|
+
return {**report, "validationDigest": canonical_digest(report)}
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def _read_reference(root: Path, relative_path: str) -> tuple[str | None, str | None]:
|
|
152
|
+
resolved_root = root.resolve()
|
|
153
|
+
raw_candidate = resolved_root / relative_path
|
|
154
|
+
if _has_symlink_component(resolved_root, relative_path):
|
|
155
|
+
return None, "domain-language-reference-symlink"
|
|
156
|
+
candidate = raw_candidate.resolve(strict=False)
|
|
157
|
+
try:
|
|
158
|
+
candidate.relative_to(root.resolve())
|
|
159
|
+
except ValueError:
|
|
160
|
+
return None, "domain-language-reference-escape"
|
|
161
|
+
if not candidate.exists() or not candidate.is_file():
|
|
162
|
+
return None, "domain-language-reference-missing"
|
|
163
|
+
try:
|
|
164
|
+
if candidate.stat().st_size > MAX_AUDIT_FILE_BYTES:
|
|
165
|
+
return None, "domain-language-reference-too-large"
|
|
166
|
+
return candidate.read_text(encoding="utf-8", errors="ignore"), None
|
|
167
|
+
except OSError:
|
|
168
|
+
return None, "domain-language-reference-unreadable"
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def _has_symlink_component(root: Path, relative_path: str) -> bool:
|
|
172
|
+
candidate = root
|
|
173
|
+
for component in Path(relative_path).parts:
|
|
174
|
+
candidate /= component
|
|
175
|
+
if candidate.is_symlink():
|
|
176
|
+
return True
|
|
177
|
+
return False
|
{agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/audit/ownership.py
RENAMED
|
@@ -53,6 +53,18 @@ def report_has_category(report: dict[str, Any], categories: set[str]) -> bool:
|
|
|
53
53
|
return any(entry.get("category") in categories for entry in report.get("entries", []))
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
def declared_ownership_paths(manifest: dict[str, Any]) -> list[str]:
|
|
57
|
+
"""Return literal workstream ownership paths for read-only projections."""
|
|
58
|
+
|
|
59
|
+
classifiers = _classifiers(manifest, None)
|
|
60
|
+
paths = {
|
|
61
|
+
path
|
|
62
|
+
for roots in classifiers["workstreams"].values()
|
|
63
|
+
for path in roots
|
|
64
|
+
}
|
|
65
|
+
return sorted(paths)
|
|
66
|
+
|
|
67
|
+
|
|
56
68
|
def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[str, Any]:
|
|
57
69
|
package_value = manifest.get("package")
|
|
58
70
|
package = package_value if isinstance(package_value, dict) else {}
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import argparse
|
|
6
|
+
from datetime import UTC, datetime
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
10
|
+
from agent_lifecycle.cli.dispatch_metrics import _dispatch_execution_report
|
|
9
11
|
from agent_lifecycle.context import check_context, load_context_profile, render_context
|
|
10
12
|
from agent_lifecycle.context.checkpoint_store import (
|
|
11
13
|
restore_context_checkpoint,
|
|
@@ -54,7 +56,6 @@ from agent_lifecycle.metrics.audit_optimization import (
|
|
|
54
56
|
validate_audit_optimization_report,
|
|
55
57
|
)
|
|
56
58
|
from agent_lifecycle.metrics.audit_samples import build_audit_samples
|
|
57
|
-
from agent_lifecycle.cli.dispatch_metrics import _dispatch_execution_report
|
|
58
59
|
from agent_lifecycle.model_routing import (
|
|
59
60
|
resolve_model_route,
|
|
60
61
|
validate_host_model_profile,
|
|
@@ -70,6 +71,7 @@ from agent_lifecycle.reporting import (
|
|
|
70
71
|
build_change_summary_receipt,
|
|
71
72
|
build_lifecycle_progress_view,
|
|
72
73
|
build_lifecycle_progress_watch,
|
|
74
|
+
build_multi_run_attention_view,
|
|
73
75
|
build_progress_bridge_receipt,
|
|
74
76
|
build_status_view,
|
|
75
77
|
build_workflow_event_feed,
|
|
@@ -127,7 +129,8 @@ def _dispatch_thread(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
127
129
|
"thread request and receipt lineage validation failed",
|
|
128
130
|
{"validation": validation},
|
|
129
131
|
)
|
|
130
|
-
|
|
132
|
+
raw_limits = request.get("limits")
|
|
133
|
+
limits: dict[str, Any] = raw_limits if isinstance(raw_limits, dict) else {}
|
|
131
134
|
imported = prepare_thread_context_import(
|
|
132
135
|
operation_id=request["operationId"],
|
|
133
136
|
source_receipt_digest=receipt["receiptDigest"],
|
|
@@ -181,6 +184,18 @@ def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
181
184
|
if args.out:
|
|
182
185
|
write_json_create(Path(args.out), payload)
|
|
183
186
|
return payload
|
|
187
|
+
if args.report_command in {"multi-run", "attention"}:
|
|
188
|
+
payload = build_multi_run_attention_view(
|
|
189
|
+
project_root=Path(args.project_root),
|
|
190
|
+
run_roots=[Path(item) for item in args.run_root],
|
|
191
|
+
max_runs=args.max_runs,
|
|
192
|
+
max_bytes_per_run=args.max_bytes_per_run,
|
|
193
|
+
stale_after_seconds=args.stale_after_seconds,
|
|
194
|
+
now=_parse_report_time(args.now),
|
|
195
|
+
)
|
|
196
|
+
if args.out:
|
|
197
|
+
write_json_create(Path(args.out), payload)
|
|
198
|
+
return payload
|
|
184
199
|
if args.report_command == "progress":
|
|
185
200
|
if args.watch:
|
|
186
201
|
payload = build_lifecycle_progress_watch(
|
|
@@ -215,6 +230,18 @@ def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
215
230
|
raise LifecycleError("command-not-implemented", "report command is not implemented")
|
|
216
231
|
|
|
217
232
|
|
|
233
|
+
def _parse_report_time(value: str | None) -> datetime | None:
|
|
234
|
+
if value is None:
|
|
235
|
+
return None
|
|
236
|
+
try:
|
|
237
|
+
parsed = datetime.fromisoformat(value.replace("Z", "+00:00"))
|
|
238
|
+
except ValueError as exc:
|
|
239
|
+
raise LifecycleError("multi-run-invalid-time", "--now must be an ISO-8601 timestamp") from exc
|
|
240
|
+
if parsed.tzinfo is None:
|
|
241
|
+
return parsed.replace(tzinfo=UTC)
|
|
242
|
+
return parsed.astimezone(UTC)
|
|
243
|
+
|
|
244
|
+
|
|
218
245
|
def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
|
|
219
246
|
if args.context_command == "profile-check":
|
|
220
247
|
return load_context_profile(Path(args.profile))
|
|
@@ -328,7 +355,10 @@ def _dispatch_context_checkpoint(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
328
355
|
def _require_checkpoint_output_root(root: Path) -> None:
|
|
329
356
|
resolved = root.resolve()
|
|
330
357
|
if ".alk" not in resolved.parts or not resolved.name == "checkpoints":
|
|
331
|
-
raise LifecycleError(
|
|
358
|
+
raise LifecycleError(
|
|
359
|
+
"context-checkpoint-output-root-invalid",
|
|
360
|
+
"checkpoint output must remain in a .alk/context/checkpoints directory",
|
|
361
|
+
)
|
|
332
362
|
|
|
333
363
|
|
|
334
364
|
def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
@@ -383,12 +413,20 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
383
413
|
return validate_model_routing_profile(profile)
|
|
384
414
|
if args.model_command == "route":
|
|
385
415
|
routing_profile = read_json_object(Path(args.profile), label="model routing profile")
|
|
386
|
-
host_profile =
|
|
416
|
+
host_profile = (
|
|
417
|
+
read_json_object(Path(args.host_profile), label="host model profile")
|
|
418
|
+
if args.host_profile
|
|
419
|
+
else None
|
|
420
|
+
)
|
|
387
421
|
request = read_json_object(Path(args.request), label="model route request")
|
|
388
422
|
return resolve_model_route(request, routing_profile, host_profile=host_profile)
|
|
389
423
|
if args.model_command == "usage-check":
|
|
390
424
|
receipt = read_json_object(Path(args.receipt), label="model usage receipt")
|
|
391
|
-
decision =
|
|
425
|
+
decision = (
|
|
426
|
+
read_json_object(Path(args.route_decision), label="model route decision")
|
|
427
|
+
if args.route_decision
|
|
428
|
+
else None
|
|
429
|
+
)
|
|
392
430
|
targets = read_json_object(Path(args.budget_targets), label="budget targets") if args.budget_targets else None
|
|
393
431
|
result = validate_usage_receipt(receipt, budget_targets=targets, route_decision=decision)
|
|
394
432
|
if result["status"] == "FAIL":
|
|
@@ -401,7 +439,7 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
401
439
|
raise LifecycleError("command-not-implemented", "model command is not implemented")
|
|
402
440
|
|
|
403
441
|
|
|
404
|
-
def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
|
|
442
|
+
def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
405
443
|
if args.metrics_command == "cost-check":
|
|
406
444
|
report = read_json_object(Path(args.receipt), label="lifecycle cost report")
|
|
407
445
|
return require_lifecycle_cost_pass(validate_lifecycle_cost_report(report))
|
|
@@ -505,32 +543,15 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
505
543
|
write_json_create(Path(args.out), payload)
|
|
506
544
|
return payload
|
|
507
545
|
if args.metrics_command == "audit-report":
|
|
508
|
-
|
|
509
|
-
candidates = _read_json_items(args.candidate_profile, label="candidate profile")
|
|
510
|
-
references = _read_json_items(args.reference_task, label="reference task")
|
|
511
|
-
holdouts = _read_json_items(args.holdout_task, label="holdout task")
|
|
512
|
-
current = read_json_object(Path(args.current_profile), label="current optimization profile") if args.current_profile else None
|
|
513
|
-
report = build_audit_optimization_report(
|
|
514
|
-
samples,
|
|
515
|
-
candidate_profiles=candidates,
|
|
516
|
-
reference_tasks=references,
|
|
517
|
-
holdout_tasks=holdouts,
|
|
518
|
-
task_shape=args.task_shape,
|
|
519
|
-
quality_floor=args.quality_floor,
|
|
520
|
-
current_profile=current,
|
|
521
|
-
)
|
|
522
|
-
validation = validate_audit_optimization_report(report)
|
|
523
|
-
if validation["status"] != "PASS":
|
|
524
|
-
raise LifecycleError("audit-optimization-report-invalid", "audit optimization report validation failed", {"validation": validation})
|
|
525
|
-
write_json_create(Path(args.out), report)
|
|
526
|
-
if args.terminal:
|
|
527
|
-
return render_audit_optimization_terminal(report)
|
|
528
|
-
return report
|
|
546
|
+
return _dispatch_audit_report(args)
|
|
529
547
|
if args.metrics_command == "audit-proposal":
|
|
530
548
|
report = read_json_object(Path(args.report), label="audit optimization report")
|
|
531
|
-
|
|
549
|
+
raw_recommendation = report.get("recommendation")
|
|
550
|
+
proposal_recommendation: dict[str, Any] = (
|
|
551
|
+
raw_recommendation if isinstance(raw_recommendation, dict) else {}
|
|
552
|
+
)
|
|
532
553
|
proposal = build_optimization_proposal(
|
|
533
|
-
|
|
554
|
+
proposal_recommendation,
|
|
534
555
|
approved=args.approved,
|
|
535
556
|
target_kind=args.target_kind,
|
|
536
557
|
target_revision=args.target_revision,
|
|
@@ -545,11 +566,44 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
545
566
|
raise LifecycleError("command-not-implemented", "metrics command is not implemented")
|
|
546
567
|
|
|
547
568
|
|
|
569
|
+
def _dispatch_audit_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
570
|
+
samples = _read_audit_samples(args.sample)
|
|
571
|
+
candidates = _read_json_items(args.candidate_profile, label="candidate profile")
|
|
572
|
+
references = _read_json_items(args.reference_task, label="reference task")
|
|
573
|
+
holdouts = _read_json_items(args.holdout_task, label="holdout task")
|
|
574
|
+
current = (
|
|
575
|
+
read_json_object(Path(args.current_profile), label="current optimization profile")
|
|
576
|
+
if args.current_profile
|
|
577
|
+
else None
|
|
578
|
+
)
|
|
579
|
+
report = build_audit_optimization_report(
|
|
580
|
+
samples,
|
|
581
|
+
candidate_profiles=candidates,
|
|
582
|
+
reference_tasks=references,
|
|
583
|
+
holdout_tasks=holdouts,
|
|
584
|
+
task_shape=args.task_shape,
|
|
585
|
+
quality_floor=args.quality_floor,
|
|
586
|
+
current_profile=current,
|
|
587
|
+
)
|
|
588
|
+
validation = validate_audit_optimization_report(report)
|
|
589
|
+
if validation["status"] != "PASS":
|
|
590
|
+
raise LifecycleError(
|
|
591
|
+
"audit-optimization-report-invalid",
|
|
592
|
+
"audit optimization report validation failed",
|
|
593
|
+
{"validation": validation},
|
|
594
|
+
)
|
|
595
|
+
write_json_create(Path(args.out), report)
|
|
596
|
+
if args.terminal:
|
|
597
|
+
return render_audit_optimization_terminal(report)
|
|
598
|
+
return report
|
|
599
|
+
|
|
600
|
+
|
|
548
601
|
def _read_audit_samples(paths: list[str]) -> list[dict[str, Any]]:
|
|
549
602
|
samples: list[dict[str, Any]] = []
|
|
550
603
|
for item in paths:
|
|
551
604
|
payload = read_json_object(Path(item), label="audit sample")
|
|
552
|
-
|
|
605
|
+
raw_samples = payload.get("samples")
|
|
606
|
+
rows = raw_samples if isinstance(raw_samples, list) else [payload]
|
|
553
607
|
samples.extend(row for row in rows if isinstance(row, dict))
|
|
554
608
|
return samples
|
|
555
609
|
|
|
@@ -558,7 +612,8 @@ def _read_json_items(paths: list[str], *, label: str) -> list[dict[str, Any]]:
|
|
|
558
612
|
items: list[dict[str, Any]] = []
|
|
559
613
|
for item in paths:
|
|
560
614
|
payload = read_json_object(Path(item), label=label)
|
|
561
|
-
|
|
615
|
+
raw_items = payload.get("items")
|
|
616
|
+
rows = raw_items if isinstance(raw_items, list) else [payload]
|
|
562
617
|
items.extend(row for row in rows if isinstance(row, dict))
|
|
563
618
|
return items
|
|
564
619
|
|
{agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/dispatch_planning.py
RENAMED
|
@@ -192,6 +192,8 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
192
192
|
before_lock=read(args.before_lock, "before plan lock"),
|
|
193
193
|
after_lock=read(args.after_lock, "after plan lock"),
|
|
194
194
|
principles=read(args.principles, "project principles"),
|
|
195
|
+
language_before=read(args.language_before, "before project domain language"),
|
|
196
|
+
language_after=read(args.language_after, "after project domain language"),
|
|
195
197
|
)
|
|
196
198
|
if args.out:
|
|
197
199
|
write_json_create(Path(args.out), payload)
|
|
@@ -17,6 +17,14 @@ def _add_report_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
17
17
|
event_feed = report_sub.add_parser("event-feed")
|
|
18
18
|
event_feed.add_argument("--state", required=True)
|
|
19
19
|
event_feed.add_argument("--out")
|
|
20
|
+
multi_run = report_sub.add_parser("multi-run", aliases=["attention"])
|
|
21
|
+
multi_run.add_argument("--project-root", default=".")
|
|
22
|
+
multi_run.add_argument("--run-root", "--run", dest="run_root", action="append", default=[])
|
|
23
|
+
multi_run.add_argument("--max-runs", type=int, default=32)
|
|
24
|
+
multi_run.add_argument("--max-bytes-per-run", type=int, default=1_048_576)
|
|
25
|
+
multi_run.add_argument("--stale-after-seconds", type=int, default=86_400)
|
|
26
|
+
multi_run.add_argument("--now")
|
|
27
|
+
multi_run.add_argument("--out")
|
|
20
28
|
progress = report_sub.add_parser("progress")
|
|
21
29
|
progress.add_argument("--state", required=True)
|
|
22
30
|
progress.add_argument("--usage-receipt", action="append", default=[])
|
{agent_lifecycle_kit-2.1.0 → agent_lifecycle_kit-2.3.0}/src/agent_lifecycle/cli/planning_parsers.py
RENAMED
|
@@ -55,6 +55,8 @@ def _add_plan_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentPar
|
|
|
55
55
|
delta.add_argument("--before-lock")
|
|
56
56
|
delta.add_argument("--after-lock")
|
|
57
57
|
delta.add_argument("--principles")
|
|
58
|
+
delta.add_argument("--language-before", help="optional previous project domain language artifact")
|
|
59
|
+
delta.add_argument("--language-after", help="optional current project domain language artifact")
|
|
58
60
|
delta.add_argument("--out")
|
|
59
61
|
delta_check = plan_sub.add_parser("delta-check", aliases=["delta-validate"])
|
|
60
62
|
delta_check.add_argument("--delta", required=True)
|