agent-lifecycle-kit 2.2.0__tar.gz → 2.4.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.2.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.4.0}/PKG-INFO +4 -4
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/README.md +3 -3
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/__init__.py +10 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/ownership.py +12 -0
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/audit/security_analysis.py +15 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_contracts.py +34 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_observability.py +113 -31
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/observability_parsers.py +14 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/parsers.py +13 -0
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/contracts/multi_run_view_schemas.py +114 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +20 -1
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/schemas.py +4 -0
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/contracts/security_analysis_schemas.py +306 -0
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/imports/security_findings.py +299 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/manifest_contract.py +57 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/__init__.py +51 -19
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/bug_forensics.py +123 -53
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/quality/security_analysis.py +788 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/__init__.py +9 -3
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/reporting/attention.py +267 -0
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/reporting/multi_run.py +469 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/__init__.py +2 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/assignments.py +47 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +53 -9
- agent_lifecycle_kit-2.4.0/src/agent_lifecycle/workflow/implementation_audit_gate.py +459 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/plan_adoption.py +26 -3
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/task_transitions.py +4 -3
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +4 -4
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +7 -0
- agent_lifecycle_kit-2.2.0/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -182
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.2.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.4.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.4.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.4.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), 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
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), [Project domain language](docs/reference/project-domain-language.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.4.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), 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
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), [Project domain language](docs/reference/project-domain-language.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.4.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.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/__init__.py
RENAMED
|
@@ -44,6 +44,12 @@ from agent_lifecycle.audit.review_verdict import (
|
|
|
44
44
|
require_review_verdict_pass,
|
|
45
45
|
validate_review_verdict,
|
|
46
46
|
)
|
|
47
|
+
from agent_lifecycle.audit.security_analysis import (
|
|
48
|
+
build_security_analysis_audit,
|
|
49
|
+
build_security_verification_assignment,
|
|
50
|
+
validate_security_analysis_audit,
|
|
51
|
+
validate_security_verification_assignment,
|
|
52
|
+
)
|
|
47
53
|
|
|
48
54
|
__all__ = [
|
|
49
55
|
"build_bug_forensics_audit",
|
|
@@ -58,6 +64,8 @@ __all__ = [
|
|
|
58
64
|
"build_proof_integrity_receipt",
|
|
59
65
|
"build_receipt_hash_chain",
|
|
60
66
|
"build_root_cause_evidence",
|
|
67
|
+
"build_security_analysis_audit",
|
|
68
|
+
"build_security_verification_assignment",
|
|
61
69
|
"compact_review_routing",
|
|
62
70
|
"finding_identity_fields",
|
|
63
71
|
"require_bug_forensics_audit_pass",
|
|
@@ -78,4 +86,6 @@ __all__ = [
|
|
|
78
86
|
"validate_receipt_hash_chain",
|
|
79
87
|
"validate_review_verdict",
|
|
80
88
|
"validate_root_cause_evidence",
|
|
89
|
+
"validate_security_analysis_audit",
|
|
90
|
+
"validate_security_verification_assignment",
|
|
81
91
|
]
|
{agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.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 {}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Compatibility exports for security-analysis verification evidence."""
|
|
2
|
+
|
|
3
|
+
from agent_lifecycle.quality.security_analysis import (
|
|
4
|
+
build_security_analysis_audit,
|
|
5
|
+
build_security_verification_assignment,
|
|
6
|
+
validate_security_analysis_audit,
|
|
7
|
+
validate_security_verification_assignment,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"build_security_analysis_audit",
|
|
12
|
+
"build_security_verification_assignment",
|
|
13
|
+
"validate_security_analysis_audit",
|
|
14
|
+
"validate_security_verification_assignment",
|
|
15
|
+
]
|
|
@@ -37,6 +37,7 @@ from agent_lifecycle.imports import (
|
|
|
37
37
|
validate_import_result,
|
|
38
38
|
validate_skill_improvement_proposal,
|
|
39
39
|
)
|
|
40
|
+
from agent_lifecycle.imports.security_findings import import_security_findings, validate_security_finding_import
|
|
40
41
|
from agent_lifecycle.planning import (
|
|
41
42
|
build_task_template_library,
|
|
42
43
|
require_task_template_validation_pass,
|
|
@@ -52,6 +53,10 @@ from agent_lifecycle.quality import (
|
|
|
52
53
|
validate_bug_forensics_recipe_library,
|
|
53
54
|
validate_quality_pack,
|
|
54
55
|
)
|
|
56
|
+
from agent_lifecycle.quality.security_analysis import (
|
|
57
|
+
build_security_analysis_profile,
|
|
58
|
+
validate_security_finding,
|
|
59
|
+
)
|
|
55
60
|
from agent_lifecycle.review_mesh import (
|
|
56
61
|
build_quorum_from_synthesis,
|
|
57
62
|
build_review_mesh_assignment_packet,
|
|
@@ -142,6 +147,17 @@ def _dispatch_evidence(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
142
147
|
|
|
143
148
|
|
|
144
149
|
def _dispatch_import(args: argparse.Namespace) -> dict[str, Any]:
|
|
150
|
+
if args.import_command in {"security-findings", "security"}:
|
|
151
|
+
payload = import_security_findings(
|
|
152
|
+
Path(args.source),
|
|
153
|
+
source_revision=args.source_revision,
|
|
154
|
+
expected_source_revision=args.expected_source_revision,
|
|
155
|
+
source_lineage_digest=args.source_lineage_digest,
|
|
156
|
+
max_input_bytes=args.max_input_bytes,
|
|
157
|
+
)
|
|
158
|
+
if args.out:
|
|
159
|
+
write_json_create(Path(args.out), payload)
|
|
160
|
+
return payload
|
|
145
161
|
if args.import_command == "profile-list":
|
|
146
162
|
payload = external_dialect_registry()
|
|
147
163
|
if args.out:
|
|
@@ -222,6 +238,24 @@ def _planning_import_profile(
|
|
|
222
238
|
|
|
223
239
|
|
|
224
240
|
def _dispatch_quality(args: argparse.Namespace) -> dict[str, Any]:
|
|
241
|
+
if args.quality_command in {"security-profile", "security-analysis-profile"}:
|
|
242
|
+
payload = build_security_analysis_profile()
|
|
243
|
+
if args.out:
|
|
244
|
+
write_json_create(Path(args.out), payload)
|
|
245
|
+
return payload
|
|
246
|
+
if args.quality_command in {"security-finding-check", "security-analysis-check"}:
|
|
247
|
+
candidate = read_json_object(Path(args.candidate), label="security finding import")
|
|
248
|
+
if candidate.get("schemaVersion") == "agent-security-finding-import.v1":
|
|
249
|
+
payload = validate_security_finding_import(
|
|
250
|
+
candidate, expected_source_revision=args.expected_source_revision
|
|
251
|
+
)
|
|
252
|
+
else:
|
|
253
|
+
payload = validate_security_finding(
|
|
254
|
+
candidate, expected_source_revision=args.expected_source_revision
|
|
255
|
+
)
|
|
256
|
+
if args.out:
|
|
257
|
+
write_json_create(Path(args.out), payload)
|
|
258
|
+
return payload
|
|
225
259
|
if args.quality_command == "pack-check":
|
|
226
260
|
manifest = (
|
|
227
261
|
read_json_object(Path(args.manifest), label="quality pack")
|
|
@@ -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,
|
|
@@ -33,6 +35,7 @@ from agent_lifecycle.host_protocol.thread_bridge import (
|
|
|
33
35
|
prepare_thread_request,
|
|
34
36
|
validate_thread_exchange,
|
|
35
37
|
)
|
|
38
|
+
from agent_lifecycle.imports.security_findings import import_security_findings
|
|
36
39
|
from agent_lifecycle.metrics import (
|
|
37
40
|
build_lifecycle_cost_summary,
|
|
38
41
|
build_lifecycle_recommendation_summary,
|
|
@@ -54,7 +57,6 @@ from agent_lifecycle.metrics.audit_optimization import (
|
|
|
54
57
|
validate_audit_optimization_report,
|
|
55
58
|
)
|
|
56
59
|
from agent_lifecycle.metrics.audit_samples import build_audit_samples
|
|
57
|
-
from agent_lifecycle.cli.dispatch_metrics import _dispatch_execution_report
|
|
58
60
|
from agent_lifecycle.model_routing import (
|
|
59
61
|
resolve_model_route,
|
|
60
62
|
validate_host_model_profile,
|
|
@@ -66,10 +68,12 @@ from agent_lifecycle.policy.proposals import (
|
|
|
66
68
|
build_optimization_proposal,
|
|
67
69
|
require_optimization_proposal_pass,
|
|
68
70
|
)
|
|
71
|
+
from agent_lifecycle.quality.security_analysis import build_security_analysis_profile
|
|
69
72
|
from agent_lifecycle.reporting import (
|
|
70
73
|
build_change_summary_receipt,
|
|
71
74
|
build_lifecycle_progress_view,
|
|
72
75
|
build_lifecycle_progress_watch,
|
|
76
|
+
build_multi_run_attention_view,
|
|
73
77
|
build_progress_bridge_receipt,
|
|
74
78
|
build_status_view,
|
|
75
79
|
build_workflow_event_feed,
|
|
@@ -127,7 +131,8 @@ def _dispatch_thread(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
127
131
|
"thread request and receipt lineage validation failed",
|
|
128
132
|
{"validation": validation},
|
|
129
133
|
)
|
|
130
|
-
|
|
134
|
+
raw_limits = request.get("limits")
|
|
135
|
+
limits: dict[str, Any] = raw_limits if isinstance(raw_limits, dict) else {}
|
|
131
136
|
imported = prepare_thread_context_import(
|
|
132
137
|
operation_id=request["operationId"],
|
|
133
138
|
source_receipt_digest=receipt["receiptDigest"],
|
|
@@ -148,6 +153,31 @@ def _dispatch_thread(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
148
153
|
|
|
149
154
|
|
|
150
155
|
def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
156
|
+
if args.report_command == "security-analysis":
|
|
157
|
+
findings = []
|
|
158
|
+
imports = []
|
|
159
|
+
for item in args.finding:
|
|
160
|
+
imported = import_security_findings(
|
|
161
|
+
Path(item),
|
|
162
|
+
source_revision=args.source_revision,
|
|
163
|
+
expected_source_revision=args.expected_source_revision,
|
|
164
|
+
)
|
|
165
|
+
imports.append(imported)
|
|
166
|
+
findings.extend(imported.get("findings", []))
|
|
167
|
+
payload = {
|
|
168
|
+
"schemaVersion": "agent-security-analysis-report.v1",
|
|
169
|
+
"status": "PASS" if all(item.get("status") == "PASS" for item in imports) else "FAIL",
|
|
170
|
+
"profile": build_security_analysis_profile() if args.profile else None,
|
|
171
|
+
"imports": imports,
|
|
172
|
+
"findings": findings,
|
|
173
|
+
"trusted": False,
|
|
174
|
+
"authorityClaimed": False,
|
|
175
|
+
"productionPromotionClaimed": False,
|
|
176
|
+
}
|
|
177
|
+
payload["reportDigest"] = canonical_digest(payload)
|
|
178
|
+
if args.out:
|
|
179
|
+
write_json_create(Path(args.out), payload)
|
|
180
|
+
return payload
|
|
151
181
|
if args.report_command == "status-view":
|
|
152
182
|
payload = build_status_view(
|
|
153
183
|
project_root=Path(args.project_root),
|
|
@@ -181,6 +211,18 @@ def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
181
211
|
if args.out:
|
|
182
212
|
write_json_create(Path(args.out), payload)
|
|
183
213
|
return payload
|
|
214
|
+
if args.report_command in {"multi-run", "attention"}:
|
|
215
|
+
payload = build_multi_run_attention_view(
|
|
216
|
+
project_root=Path(args.project_root),
|
|
217
|
+
run_roots=[Path(item) for item in args.run_root],
|
|
218
|
+
max_runs=args.max_runs,
|
|
219
|
+
max_bytes_per_run=args.max_bytes_per_run,
|
|
220
|
+
stale_after_seconds=args.stale_after_seconds,
|
|
221
|
+
now=_parse_report_time(args.now),
|
|
222
|
+
)
|
|
223
|
+
if args.out:
|
|
224
|
+
write_json_create(Path(args.out), payload)
|
|
225
|
+
return payload
|
|
184
226
|
if args.report_command == "progress":
|
|
185
227
|
if args.watch:
|
|
186
228
|
payload = build_lifecycle_progress_watch(
|
|
@@ -215,6 +257,18 @@ def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
215
257
|
raise LifecycleError("command-not-implemented", "report command is not implemented")
|
|
216
258
|
|
|
217
259
|
|
|
260
|
+
def _parse_report_time(value: str | None) -> datetime | None:
|
|
261
|
+
if value is None:
|
|
262
|
+
return None
|
|
263
|
+
try:
|
|
264
|
+
parsed = datetime.fromisoformat(value.replace("Z", "+00:00"))
|
|
265
|
+
except ValueError as exc:
|
|
266
|
+
raise LifecycleError("multi-run-invalid-time", "--now must be an ISO-8601 timestamp") from exc
|
|
267
|
+
if parsed.tzinfo is None:
|
|
268
|
+
return parsed.replace(tzinfo=UTC)
|
|
269
|
+
return parsed.astimezone(UTC)
|
|
270
|
+
|
|
271
|
+
|
|
218
272
|
def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
|
|
219
273
|
if args.context_command == "profile-check":
|
|
220
274
|
return load_context_profile(Path(args.profile))
|
|
@@ -328,7 +382,10 @@ def _dispatch_context_checkpoint(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
328
382
|
def _require_checkpoint_output_root(root: Path) -> None:
|
|
329
383
|
resolved = root.resolve()
|
|
330
384
|
if ".alk" not in resolved.parts or not resolved.name == "checkpoints":
|
|
331
|
-
raise LifecycleError(
|
|
385
|
+
raise LifecycleError(
|
|
386
|
+
"context-checkpoint-output-root-invalid",
|
|
387
|
+
"checkpoint output must remain in a .alk/context/checkpoints directory",
|
|
388
|
+
)
|
|
332
389
|
|
|
333
390
|
|
|
334
391
|
def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
@@ -383,12 +440,20 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
383
440
|
return validate_model_routing_profile(profile)
|
|
384
441
|
if args.model_command == "route":
|
|
385
442
|
routing_profile = read_json_object(Path(args.profile), label="model routing profile")
|
|
386
|
-
host_profile =
|
|
443
|
+
host_profile = (
|
|
444
|
+
read_json_object(Path(args.host_profile), label="host model profile")
|
|
445
|
+
if args.host_profile
|
|
446
|
+
else None
|
|
447
|
+
)
|
|
387
448
|
request = read_json_object(Path(args.request), label="model route request")
|
|
388
449
|
return resolve_model_route(request, routing_profile, host_profile=host_profile)
|
|
389
450
|
if args.model_command == "usage-check":
|
|
390
451
|
receipt = read_json_object(Path(args.receipt), label="model usage receipt")
|
|
391
|
-
decision =
|
|
452
|
+
decision = (
|
|
453
|
+
read_json_object(Path(args.route_decision), label="model route decision")
|
|
454
|
+
if args.route_decision
|
|
455
|
+
else None
|
|
456
|
+
)
|
|
392
457
|
targets = read_json_object(Path(args.budget_targets), label="budget targets") if args.budget_targets else None
|
|
393
458
|
result = validate_usage_receipt(receipt, budget_targets=targets, route_decision=decision)
|
|
394
459
|
if result["status"] == "FAIL":
|
|
@@ -401,7 +466,7 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
401
466
|
raise LifecycleError("command-not-implemented", "model command is not implemented")
|
|
402
467
|
|
|
403
468
|
|
|
404
|
-
def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
|
|
469
|
+
def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
405
470
|
if args.metrics_command == "cost-check":
|
|
406
471
|
report = read_json_object(Path(args.receipt), label="lifecycle cost report")
|
|
407
472
|
return require_lifecycle_cost_pass(validate_lifecycle_cost_report(report))
|
|
@@ -505,32 +570,15 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
505
570
|
write_json_create(Path(args.out), payload)
|
|
506
571
|
return payload
|
|
507
572
|
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
|
|
573
|
+
return _dispatch_audit_report(args)
|
|
529
574
|
if args.metrics_command == "audit-proposal":
|
|
530
575
|
report = read_json_object(Path(args.report), label="audit optimization report")
|
|
531
|
-
|
|
576
|
+
raw_recommendation = report.get("recommendation")
|
|
577
|
+
proposal_recommendation: dict[str, Any] = (
|
|
578
|
+
raw_recommendation if isinstance(raw_recommendation, dict) else {}
|
|
579
|
+
)
|
|
532
580
|
proposal = build_optimization_proposal(
|
|
533
|
-
|
|
581
|
+
proposal_recommendation,
|
|
534
582
|
approved=args.approved,
|
|
535
583
|
target_kind=args.target_kind,
|
|
536
584
|
target_revision=args.target_revision,
|
|
@@ -545,11 +593,44 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
545
593
|
raise LifecycleError("command-not-implemented", "metrics command is not implemented")
|
|
546
594
|
|
|
547
595
|
|
|
596
|
+
def _dispatch_audit_report(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
597
|
+
samples = _read_audit_samples(args.sample)
|
|
598
|
+
candidates = _read_json_items(args.candidate_profile, label="candidate profile")
|
|
599
|
+
references = _read_json_items(args.reference_task, label="reference task")
|
|
600
|
+
holdouts = _read_json_items(args.holdout_task, label="holdout task")
|
|
601
|
+
current = (
|
|
602
|
+
read_json_object(Path(args.current_profile), label="current optimization profile")
|
|
603
|
+
if args.current_profile
|
|
604
|
+
else None
|
|
605
|
+
)
|
|
606
|
+
report = build_audit_optimization_report(
|
|
607
|
+
samples,
|
|
608
|
+
candidate_profiles=candidates,
|
|
609
|
+
reference_tasks=references,
|
|
610
|
+
holdout_tasks=holdouts,
|
|
611
|
+
task_shape=args.task_shape,
|
|
612
|
+
quality_floor=args.quality_floor,
|
|
613
|
+
current_profile=current,
|
|
614
|
+
)
|
|
615
|
+
validation = validate_audit_optimization_report(report)
|
|
616
|
+
if validation["status"] != "PASS":
|
|
617
|
+
raise LifecycleError(
|
|
618
|
+
"audit-optimization-report-invalid",
|
|
619
|
+
"audit optimization report validation failed",
|
|
620
|
+
{"validation": validation},
|
|
621
|
+
)
|
|
622
|
+
write_json_create(Path(args.out), report)
|
|
623
|
+
if args.terminal:
|
|
624
|
+
return render_audit_optimization_terminal(report)
|
|
625
|
+
return report
|
|
626
|
+
|
|
627
|
+
|
|
548
628
|
def _read_audit_samples(paths: list[str]) -> list[dict[str, Any]]:
|
|
549
629
|
samples: list[dict[str, Any]] = []
|
|
550
630
|
for item in paths:
|
|
551
631
|
payload = read_json_object(Path(item), label="audit sample")
|
|
552
|
-
|
|
632
|
+
raw_samples = payload.get("samples")
|
|
633
|
+
rows = raw_samples if isinstance(raw_samples, list) else [payload]
|
|
553
634
|
samples.extend(row for row in rows if isinstance(row, dict))
|
|
554
635
|
return samples
|
|
555
636
|
|
|
@@ -558,7 +639,8 @@ def _read_json_items(paths: list[str], *, label: str) -> list[dict[str, Any]]:
|
|
|
558
639
|
items: list[dict[str, Any]] = []
|
|
559
640
|
for item in paths:
|
|
560
641
|
payload = read_json_object(Path(item), label=label)
|
|
561
|
-
|
|
642
|
+
raw_items = payload.get("items")
|
|
643
|
+
rows = raw_items if isinstance(raw_items, list) else [payload]
|
|
562
644
|
items.extend(row for row in rows if isinstance(row, dict))
|
|
563
645
|
return items
|
|
564
646
|
|
|
@@ -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=[])
|
|
@@ -57,3 +65,9 @@ def _add_report_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
57
65
|
change_summary.add_argument("--staged", action="store_true")
|
|
58
66
|
change_summary.add_argument("--path", action="append", default=[])
|
|
59
67
|
change_summary.add_argument("--out")
|
|
68
|
+
security = report_sub.add_parser("security-analysis")
|
|
69
|
+
security.add_argument("--finding", action="append", default=[])
|
|
70
|
+
security.add_argument("--source-revision")
|
|
71
|
+
security.add_argument("--expected-source-revision")
|
|
72
|
+
security.add_argument("--profile", action="store_true")
|
|
73
|
+
security.add_argument("--out")
|
|
@@ -235,6 +235,13 @@ def _add_import_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
|
|
|
235
235
|
external_check.add_argument("--candidate", required=True)
|
|
236
236
|
proposal_check = import_sub.add_parser("proposal-check")
|
|
237
237
|
proposal_check.add_argument("--proposal", required=True)
|
|
238
|
+
security_import = import_sub.add_parser("security-findings", aliases=["security"])
|
|
239
|
+
security_import.add_argument("--source", required=True)
|
|
240
|
+
security_import.add_argument("--source-revision")
|
|
241
|
+
security_import.add_argument("--expected-source-revision")
|
|
242
|
+
security_import.add_argument("--source-lineage-digest")
|
|
243
|
+
security_import.add_argument("--max-input-bytes", type=int, default=4 * 1024 * 1024)
|
|
244
|
+
security_import.add_argument("--out")
|
|
238
245
|
|
|
239
246
|
|
|
240
247
|
def _add_quality_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
|
|
@@ -271,6 +278,12 @@ def _add_quality_parser(subparsers: argparse._SubParsersAction[argparse.Argument
|
|
|
271
278
|
external_check.add_argument("--operation-id", required=True)
|
|
272
279
|
external_check.add_argument("--blocking-required", action="store_true")
|
|
273
280
|
external_check.add_argument("--out")
|
|
281
|
+
security_profile = quality_sub.add_parser("security-profile", aliases=["security-analysis-profile"])
|
|
282
|
+
security_profile.add_argument("--out")
|
|
283
|
+
security_check = quality_sub.add_parser("security-finding-check", aliases=["security-analysis-check"])
|
|
284
|
+
security_check.add_argument("--candidate", required=True)
|
|
285
|
+
security_check.add_argument("--expected-source-revision")
|
|
286
|
+
security_check.add_argument("--out")
|
|
274
287
|
|
|
275
288
|
|
|
276
289
|
def _add_review_mesh_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
|