agent-lifecycle-kit 2.18.0__tar.gz → 2.20.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.18.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.20.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/README.md +2 -2
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/snapshot.py +124 -24
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_contracts.py +9 -2
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +43 -4
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_planning.py +53 -22
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +14 -355
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/parsers.py +5 -83
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/cli/plan_lock_commands.py +306 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/planning_parsers.py +18 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/task_packets.py +97 -9
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +44 -0
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/contracts/display_identity.py +33 -0
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/contracts/execution_target.py +206 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +78 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/schemas.py +69 -3
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/change_summary.py +34 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/assignments.py +9 -0
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/review_mesh/operator_templates.py +791 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/results.py +44 -3
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/workflow/artifact_builders.py +164 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/continuation.py +14 -2
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/continuation_batch.py +16 -0
- agent_lifecycle_kit-2.20.0/src/agent_lifecycle/workflow/initialization.py +510 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/next_action.py +75 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/operation_kernel.py +46 -1
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/plan_adoption.py +104 -97
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +4 -0
- agent_lifecycle_kit-2.18.0/src/agent_lifecycle/cli/plan_lock_commands.py +0 -96
- agent_lifecycle_kit-2.18.0/src/agent_lifecycle/review_mesh/operator_templates.py +0 -320
- agent_lifecycle_kit-2.18.0/src/agent_lifecycle/workflow/initialization.py +0 -129
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/journal.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review/provenance.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.18.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.20.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.20.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
|
|
@@ -41,9 +41,9 @@ and secret handling stay in adapters or host-local profiles.
|
|
|
41
41
|
ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification.
|
|
42
42
|
|
|
43
43
|
## Quick start
|
|
44
|
-
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
44
|
+
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.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.20.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
47
47
|
|
|
48
48
|
For a quick start, run:
|
|
49
49
|
|
|
@@ -19,9 +19,9 @@ and secret handling stay in adapters or host-local profiles.
|
|
|
19
19
|
ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification.
|
|
20
20
|
|
|
21
21
|
## Quick start
|
|
22
|
-
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
22
|
+
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.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.20.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
25
25
|
|
|
26
26
|
For a quick start, run:
|
|
27
27
|
|
|
@@ -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.20.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.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/snapshot.py
RENAMED
|
@@ -5,11 +5,13 @@ from __future__ import annotations
|
|
|
5
5
|
import hashlib
|
|
6
6
|
import os
|
|
7
7
|
import stat
|
|
8
|
+
import time
|
|
9
|
+
from collections.abc import Iterator
|
|
8
10
|
from pathlib import Path
|
|
9
11
|
from typing import Any
|
|
10
12
|
|
|
11
13
|
from agent_lifecycle.changesets.git import GIT_TIMEOUT_SECONDS, changed_files, resolve_revision
|
|
12
|
-
from agent_lifecycle.changesets.git_io import run_bounded_command
|
|
14
|
+
from agent_lifecycle.changesets.git_io import BoundedProcess, run_bounded_command
|
|
13
15
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest
|
|
14
16
|
from agent_lifecycle.contracts.ownership_paths import (
|
|
15
17
|
is_under_authority_path,
|
|
@@ -51,9 +53,10 @@ def capture_task_change_set(
|
|
|
51
53
|
transitions: list[dict[str, Any]] = []
|
|
52
54
|
current_entries: list[dict[str, Any]] = []
|
|
53
55
|
total_bytes = 0
|
|
56
|
+
baselines = _baseline_entries(root, baseline_sha, scoped)
|
|
54
57
|
for path in scoped:
|
|
55
58
|
normalized = normalize_repo_path(path, label="changed file")
|
|
56
|
-
before =
|
|
59
|
+
before = baselines[normalized]
|
|
57
60
|
current = _current_entry(root, normalized)
|
|
58
61
|
total_bytes += int(before.get("bytes", 0)) + int(current.get("bytes", 0))
|
|
59
62
|
if total_bytes > MAX_TOTAL_BYTES:
|
|
@@ -121,32 +124,129 @@ def require_current_task_change_set(
|
|
|
121
124
|
|
|
122
125
|
|
|
123
126
|
def _baseline_entry(root: Path, baseline_sha: str, path: str) -> dict[str, Any]:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
127
|
+
"""Retain the established single-entry extension point over one batch."""
|
|
128
|
+
return _baseline_entries(root, baseline_sha, [path])[path]
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def _path_batches(paths: list[str]) -> Iterator[list[str]]:
|
|
132
|
+
"""Keep argv bounded on Windows as well as POSIX; no per-file worker."""
|
|
133
|
+
batch: list[str] = []
|
|
134
|
+
size = 0
|
|
135
|
+
for path in paths:
|
|
136
|
+
cost = len(path.encode("utf-8")) + 3
|
|
137
|
+
if batch and (len(batch) >= 128 or size + cost > 16_384):
|
|
138
|
+
yield batch
|
|
139
|
+
batch, size = [], 0
|
|
140
|
+
batch.append(path)
|
|
141
|
+
size += cost
|
|
142
|
+
if batch:
|
|
143
|
+
yield batch
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def _baseline_entries(root: Path, baseline_sha: str, paths: list[str]) -> dict[str, dict[str, Any]]:
|
|
147
|
+
entries: dict[str, dict[str, Any]] = {
|
|
148
|
+
path: {"kind": "missing", "mode": None, "sha256": None, "bytes": 0} for path in paths
|
|
149
|
+
}
|
|
150
|
+
objects: dict[str, tuple[str, str, int]] = {}
|
|
151
|
+
for batch in _path_batches(paths):
|
|
152
|
+
output = _git_bytes(
|
|
153
|
+
root,
|
|
154
|
+
["git", "ls-tree", "-l", "-z", baseline_sha, "--", *batch],
|
|
155
|
+
max_bytes=8192 * len(batch),
|
|
156
|
+
label="baseline tree entry",
|
|
157
|
+
)
|
|
158
|
+
for row in output.split(b"\0"):
|
|
159
|
+
if row:
|
|
160
|
+
path, metadata = _parse_baseline_row(root, row, set(batch))
|
|
161
|
+
if path in objects:
|
|
162
|
+
raise LifecycleError("task-snapshot-git-shape", "Git returned an ambiguous baseline tree entry")
|
|
163
|
+
objects[path] = metadata
|
|
164
|
+
if objects:
|
|
165
|
+
entries.update(_read_baseline_blobs(root, objects))
|
|
166
|
+
return entries
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def _parse_baseline_row(root: Path, row: bytes, requested: set[str]) -> tuple[str, tuple[str, str, int]]:
|
|
136
170
|
try:
|
|
137
|
-
|
|
138
|
-
|
|
171
|
+
metadata, raw_path = row.split(b"\t", 1)
|
|
172
|
+
mode, object_type, object_id, raw_size = metadata.decode("ascii").split()
|
|
173
|
+
path = raw_path.decode("utf-8", errors="strict")
|
|
139
174
|
except (UnicodeDecodeError, ValueError) as exc:
|
|
140
175
|
raise LifecycleError("task-snapshot-git-shape", "Git returned an invalid baseline tree entry") from exc
|
|
141
|
-
if
|
|
176
|
+
if path not in requested:
|
|
177
|
+
raise LifecycleError("task-snapshot-git-shape", "Git returned an ambiguous baseline tree entry")
|
|
178
|
+
if object_type != "blob" or mode not in {"100644", "100755", "120000"}:
|
|
142
179
|
raise LifecycleError("task-snapshot-unsupported-entry", "baseline contains an unsupported task entry")
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
180
|
+
if len(object_id) not in (40, 64) or any(value not in "0123456789abcdef" for value in object_id):
|
|
181
|
+
raise LifecycleError("task-snapshot-git-shape", "Git returned an invalid baseline tree entry")
|
|
182
|
+
if raw_size == "BAD":
|
|
183
|
+
# Preserve the established typed missing-object failure. This early
|
|
184
|
+
# diagnostic stays within the complete-call process bound.
|
|
185
|
+
_git_object_data(root, object_id)
|
|
186
|
+
try:
|
|
187
|
+
size = int(raw_size)
|
|
188
|
+
except ValueError as exc:
|
|
189
|
+
raise LifecycleError("task-snapshot-git-shape", "Git returned an invalid baseline blob size") from exc
|
|
190
|
+
if size < 0 or size > MAX_GIT_OBJECT_BYTES:
|
|
191
|
+
raise LifecycleError(
|
|
192
|
+
"task-snapshot-byte-limit",
|
|
193
|
+
"baseline blob exceeds the snapshot file limit",
|
|
194
|
+
{"bytes": size, "maxBytes": MAX_GIT_OBJECT_BYTES},
|
|
195
|
+
)
|
|
196
|
+
return path, (mode, object_id, size)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def _read_baseline_blobs(root: Path, objects: dict[str, tuple[str, str, int]]) -> dict[str, dict[str, Any]]:
|
|
200
|
+
entries: dict[str, dict[str, Any]] = {}
|
|
201
|
+
try:
|
|
202
|
+
with BoundedProcess(
|
|
203
|
+
["git", "cat-file", "--batch"],
|
|
204
|
+
cwd=root,
|
|
205
|
+
deadline=time.monotonic() + GIT_TIMEOUT_SECONDS,
|
|
206
|
+
max_stdout_bytes=MAX_TOTAL_BYTES + 257 * len(objects),
|
|
207
|
+
writable=True,
|
|
208
|
+
) as transport:
|
|
209
|
+
for path, (mode, object_id, size) in objects.items():
|
|
210
|
+
transport.write_request(object_id.encode("ascii") + b"\n")
|
|
211
|
+
header = transport.stdout.readline(256)
|
|
212
|
+
expected = f"{object_id} blob {size}\n".encode("ascii")
|
|
213
|
+
if header != expected:
|
|
214
|
+
if not header and transport.wait() != 0:
|
|
215
|
+
raise LifecycleError("task-snapshot-git-failed", "baseline blob: Git command failed")
|
|
216
|
+
raise LifecycleError("task-snapshot-git-shape", "Git baseline blob size changed during snapshot")
|
|
217
|
+
digest = hashlib.sha256()
|
|
218
|
+
remaining = size
|
|
219
|
+
while remaining:
|
|
220
|
+
data = transport.stdout.read(min(65_536, remaining))
|
|
221
|
+
if not data:
|
|
222
|
+
raise LifecycleError(
|
|
223
|
+
"task-snapshot-git-shape", "Git baseline blob size changed during snapshot"
|
|
224
|
+
)
|
|
225
|
+
digest.update(data)
|
|
226
|
+
remaining -= len(data)
|
|
227
|
+
if transport.stdout.read(1) != b"\n":
|
|
228
|
+
raise LifecycleError("task-snapshot-git-shape", "Git baseline blob size changed during snapshot")
|
|
229
|
+
entries[path] = {
|
|
230
|
+
"kind": "symlink" if mode == "120000" else "file",
|
|
231
|
+
"mode": mode,
|
|
232
|
+
"sha256": digest.hexdigest(),
|
|
233
|
+
"bytes": size,
|
|
234
|
+
}
|
|
235
|
+
transport.write_request(None)
|
|
236
|
+
if transport.stdout.read_all():
|
|
237
|
+
raise LifecycleError("task-snapshot-git-shape", "Git returned trailing baseline blob data")
|
|
238
|
+
if transport.wait() != 0:
|
|
239
|
+
raise LifecycleError("task-snapshot-git-failed", "baseline blob: Git command failed")
|
|
240
|
+
except LifecycleError as exc:
|
|
241
|
+
if exc.code.startswith("bounded-process-"):
|
|
242
|
+
code = (
|
|
243
|
+
"task-snapshot-byte-limit" if exc.code == "bounded-process-output-limit" else "task-snapshot-git-failed"
|
|
244
|
+
)
|
|
245
|
+
raise LifecycleError(code, "baseline blob: Git transport failed closed") from exc
|
|
246
|
+
raise
|
|
247
|
+
except OSError as exc:
|
|
248
|
+
raise LifecycleError("task-snapshot-git-failed", "baseline blob: Git command failed") from exc
|
|
249
|
+
return entries
|
|
150
250
|
|
|
151
251
|
|
|
152
252
|
def _current_entry(root: Path, path: str) -> dict[str, Any]:
|
|
@@ -85,7 +85,7 @@ def dispatch_contracts(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
85
85
|
return {"schemaVersion": "agent-lifecycle-version.v1", "version": __version__}
|
|
86
86
|
if args.command == "schema":
|
|
87
87
|
if args.schema_command == "list":
|
|
88
|
-
return list_schemas()
|
|
88
|
+
return list_schemas(scope=args.scope)
|
|
89
89
|
if args.schema_command == "show":
|
|
90
90
|
return get_schema(args.schema_id)
|
|
91
91
|
raise LifecycleError("command-not-implemented", "schema command is not implemented")
|
|
@@ -369,9 +369,16 @@ def _dispatch_review_mesh(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
369
369
|
blocking=args.blocking,
|
|
370
370
|
evidence_ids=args.evidence_id,
|
|
371
371
|
out_dir=Path(args.out_dir) if args.out_dir else None,
|
|
372
|
+
review_input=read_json_object(Path(args.review_input)) if args.review_input else None,
|
|
373
|
+
repository_root=Path(args.repository_root),
|
|
374
|
+
authority_manifest=read_json_object(Path(args.manifest)) if args.manifest else None,
|
|
375
|
+
summary_output=Path(args.out) if args.out else None,
|
|
372
376
|
)
|
|
373
377
|
if args.out:
|
|
374
|
-
|
|
378
|
+
output = Path(args.out)
|
|
379
|
+
if args.review_input and not output.is_absolute():
|
|
380
|
+
output = Path(args.repository_root) / output
|
|
381
|
+
write_json_create(output, payload)
|
|
375
382
|
return payload
|
|
376
383
|
if args.review_mesh_command == "assign":
|
|
377
384
|
source = _review_mesh_source(args, code="review-mesh-assignment-source-missing", label="assignment")
|
|
@@ -20,6 +20,7 @@ from agent_lifecycle.contracts.phase_packet_schemas import (
|
|
|
20
20
|
)
|
|
21
21
|
from agent_lifecycle.freeze import verify_plan_lock
|
|
22
22
|
from agent_lifecycle.quality import build_validation_selection
|
|
23
|
+
from agent_lifecycle.reporting.change_summary import build_digest_display_view
|
|
23
24
|
from agent_lifecycle.workflow import (
|
|
24
25
|
accept_task,
|
|
25
26
|
adopt_plan,
|
|
@@ -48,6 +49,7 @@ from agent_lifecycle.workflow import (
|
|
|
48
49
|
)
|
|
49
50
|
from agent_lifecycle.workflow.artifacts import build_current_task_change_set
|
|
50
51
|
from agent_lifecycle.workflow.closing_window import operator_claim_refusal
|
|
52
|
+
from agent_lifecycle.workflow.initialization import initialize_compiled_workflow, project_workflow_initialization
|
|
51
53
|
|
|
52
54
|
|
|
53
55
|
def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
|
|
@@ -61,12 +63,19 @@ def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
61
63
|
|
|
62
64
|
def _dispatch_workflow_initialization(args: argparse.Namespace) -> dict[str, Any]:
|
|
63
65
|
if args.workflow_command == "init":
|
|
66
|
+
if getattr(args, "manifest", None) is not None:
|
|
67
|
+
return _initialize_from_manifest(args)
|
|
68
|
+
if any(
|
|
69
|
+
getattr(args, name, None)
|
|
70
|
+
for name in ("apply", "projected_target_digest", "operation_id", "source_revision", "packet_output_dir")
|
|
71
|
+
):
|
|
72
|
+
raise LifecycleError("initialization-manifest-required", "Composition options require --manifest")
|
|
64
73
|
return initialize_workflow_state(
|
|
65
74
|
Path(args.state),
|
|
66
75
|
run_id=args.run_id,
|
|
67
76
|
package_id=args.package_id,
|
|
68
|
-
package_root=args.package_root,
|
|
69
|
-
event_log=args.event_log,
|
|
77
|
+
package_root=args.package_root if args.package_root is not None else ".",
|
|
78
|
+
event_log=args.event_log if args.event_log is not None else "events.jsonl",
|
|
70
79
|
)
|
|
71
80
|
if args.workflow_command == "state-migrate":
|
|
72
81
|
return migrate_workflow_state(
|
|
@@ -113,7 +122,9 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
113
122
|
return _dispatch_workflow_initialization(args)
|
|
114
123
|
state_path = Path(args.state)
|
|
115
124
|
if args.workflow_command == "status":
|
|
116
|
-
|
|
125
|
+
payload = status(state_path, full=args.full)
|
|
126
|
+
prefix = getattr(args, "digest_prefix_length", None)
|
|
127
|
+
return build_digest_display_view(payload, minimum_length=prefix) if prefix is not None else payload
|
|
117
128
|
if args.workflow_command == "next":
|
|
118
129
|
return next_action(status(state_path, full=True)["state"])
|
|
119
130
|
if args.workflow_command == "validation-select":
|
|
@@ -502,7 +513,7 @@ def _task_phase_payload(
|
|
|
502
513
|
evidence: list[dict[str, Any]],
|
|
503
514
|
active_blockers: list[str],
|
|
504
515
|
) -> dict[str, Any]:
|
|
505
|
-
common = {
|
|
516
|
+
common: dict[str, Any] = {
|
|
506
517
|
"taskId": task_id,
|
|
507
518
|
"attempt": attempt,
|
|
508
519
|
"writes": writes,
|
|
@@ -631,6 +642,8 @@ def _require_args(args: argparse.Namespace, names: list[str], *, mode: str) -> N
|
|
|
631
642
|
def _dispatch_workflow_continue(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
|
|
632
643
|
batch_options = (args.input_bundle, args.max_transitions, args.max_io_bytes, args.resume_receipt)
|
|
633
644
|
if not args.until_blocked:
|
|
645
|
+
if args.local_only:
|
|
646
|
+
raise LifecycleError("continuation-batch-option-conflict", "--local-only requires --until-blocked")
|
|
634
647
|
if any(value is not None for value in batch_options):
|
|
635
648
|
raise LifecycleError(
|
|
636
649
|
"continuation-batch-option-conflict",
|
|
@@ -701,6 +714,32 @@ def _dispatch_workflow_continue(args: argparse.Namespace, state_path: Path) -> d
|
|
|
701
714
|
source_revision=args.source_revision,
|
|
702
715
|
reason=args.reason,
|
|
703
716
|
resume_receipt_path=args.resume_receipt,
|
|
717
|
+
local_only=args.local_only,
|
|
718
|
+
)
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
def _initialize_from_manifest(args: argparse.Namespace) -> dict[str, Any]:
|
|
722
|
+
common = {
|
|
723
|
+
"manifest_path": Path(args.manifest),
|
|
724
|
+
"run_id": args.run_id,
|
|
725
|
+
"package_id": args.package_id,
|
|
726
|
+
"repository_root": Path.cwd(),
|
|
727
|
+
"package_root": args.package_root,
|
|
728
|
+
"event_log": args.event_log,
|
|
729
|
+
"output_dir": Path(args.packet_output_dir) if args.packet_output_dir is not None else None,
|
|
730
|
+
"source_revision": args.source_revision,
|
|
731
|
+
}
|
|
732
|
+
if not args.apply:
|
|
733
|
+
if args.projected_target_digest is not None:
|
|
734
|
+
raise LifecycleError("initialization-option-conflict", "--projected-target-digest requires --apply")
|
|
735
|
+
return project_workflow_initialization(Path(args.state), **common)
|
|
736
|
+
if not args.projected_target_digest or not args.operation_id:
|
|
737
|
+
raise LifecycleError("initialization-projection-required", "Apply requires target digest and operation ID")
|
|
738
|
+
return initialize_compiled_workflow(
|
|
739
|
+
Path(args.state),
|
|
740
|
+
**common,
|
|
741
|
+
projected_target_digest=args.projected_target_digest,
|
|
742
|
+
operation_id=args.operation_id,
|
|
704
743
|
)
|
|
705
744
|
|
|
706
745
|
|
|
@@ -6,7 +6,7 @@ import argparse
|
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
|
-
from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock
|
|
9
|
+
from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock, prepare_freeze_candidate
|
|
10
10
|
from agent_lifecycle.compiler import build_phase_packet, compile_small_model_packets, compile_task_packets
|
|
11
11
|
from agent_lifecycle.contracts import (
|
|
12
12
|
LifecycleError,
|
|
@@ -46,6 +46,12 @@ from agent_lifecycle.specification import (
|
|
|
46
46
|
build_completion_gate_receipt,
|
|
47
47
|
validate_specification,
|
|
48
48
|
)
|
|
49
|
+
from agent_lifecycle.workflow.artifact_builders import (
|
|
50
|
+
artifact_summary,
|
|
51
|
+
build_authored_artifact,
|
|
52
|
+
create_artifact,
|
|
53
|
+
inspect_artifact,
|
|
54
|
+
)
|
|
49
55
|
from agent_lifecycle.workflow.artifacts import build_finding_check_evidence_artifact
|
|
50
56
|
|
|
51
57
|
|
|
@@ -96,6 +102,12 @@ def _dispatch_specification(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
96
102
|
|
|
97
103
|
|
|
98
104
|
def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
|
|
105
|
+
if args.plan_command == "freeze-prepare":
|
|
106
|
+
return prepare_freeze_candidate(
|
|
107
|
+
manifest_path=args.manifest,
|
|
108
|
+
output_path=args.out,
|
|
109
|
+
repository_root=Path(args.repository_root),
|
|
110
|
+
)
|
|
99
111
|
if args.plan_command == "lock-create":
|
|
100
112
|
return create_reviewed_plan_lock(
|
|
101
113
|
manifest_path=args.manifest,
|
|
@@ -125,27 +137,7 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
125
137
|
write_json_create(Path(args.out), payload)
|
|
126
138
|
return payload
|
|
127
139
|
if args.plan_command == "verify":
|
|
128
|
-
|
|
129
|
-
manifest, lock, acceptance_markdown, workflow_state, package_root = load_verification_inputs(
|
|
130
|
-
manifest_path=manifest_path,
|
|
131
|
-
lock_path=Path(args.lock) if args.lock else None,
|
|
132
|
-
acceptance_path=Path(args.acceptance) if args.acceptance else None,
|
|
133
|
-
state_path=Path(args.state) if args.state else None,
|
|
134
|
-
package_root=Path(args.package_root) if args.package_root else None,
|
|
135
|
-
)
|
|
136
|
-
payload = build_plan_verification(
|
|
137
|
-
manifest,
|
|
138
|
-
manifest_path=manifest_path,
|
|
139
|
-
lock=lock,
|
|
140
|
-
acceptance_markdown=acceptance_markdown,
|
|
141
|
-
workflow_state=workflow_state,
|
|
142
|
-
repository_root=Path(args.repository_root),
|
|
143
|
-
package_root=package_root,
|
|
144
|
-
)
|
|
145
|
-
output_path = args.out or args.evidence
|
|
146
|
-
if output_path:
|
|
147
|
-
write_json_create(Path(output_path), payload)
|
|
148
|
-
return require_plan_verification_pass(payload)
|
|
140
|
+
return _verify_plan(args)
|
|
149
141
|
if args.plan_command == "acceptance-check":
|
|
150
142
|
manifest_path = Path(args.manifest)
|
|
151
143
|
acceptance_path = Path(args.acceptance)
|
|
@@ -236,6 +228,33 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
236
228
|
raise LifecycleError("command-not-implemented", "plan command is not implemented")
|
|
237
229
|
|
|
238
230
|
|
|
231
|
+
def _verify_plan(args: argparse.Namespace) -> dict[str, Any]:
|
|
232
|
+
if args.compact and not args.out:
|
|
233
|
+
raise LifecycleError("plan-compact-output-required", "Compact display requires --out for the full receipt")
|
|
234
|
+
manifest_path = Path(args.manifest)
|
|
235
|
+
manifest, lock, markdown, state, package_root = load_verification_inputs(
|
|
236
|
+
manifest_path=manifest_path,
|
|
237
|
+
lock_path=Path(args.lock) if args.lock else None,
|
|
238
|
+
acceptance_path=Path(args.acceptance) if args.acceptance else None,
|
|
239
|
+
state_path=Path(args.state) if args.state else None,
|
|
240
|
+
package_root=Path(args.package_root) if args.package_root else None,
|
|
241
|
+
)
|
|
242
|
+
payload = build_plan_verification(
|
|
243
|
+
manifest,
|
|
244
|
+
manifest_path=manifest_path,
|
|
245
|
+
lock=lock,
|
|
246
|
+
acceptance_markdown=markdown,
|
|
247
|
+
workflow_state=state,
|
|
248
|
+
repository_root=Path(args.repository_root),
|
|
249
|
+
package_root=package_root,
|
|
250
|
+
)
|
|
251
|
+
output_path = args.out or args.evidence
|
|
252
|
+
if output_path:
|
|
253
|
+
write_json_create(Path(output_path), payload)
|
|
254
|
+
require_plan_verification_pass(payload)
|
|
255
|
+
return artifact_summary(Path(output_path), payload) if args.compact else payload
|
|
256
|
+
|
|
257
|
+
|
|
239
258
|
def _build_planning_handoff_phase_packet(
|
|
240
259
|
manifest: dict[str, Any],
|
|
241
260
|
lock: dict[str, Any],
|
|
@@ -385,6 +404,18 @@ def _dispatch_finding_check(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
385
404
|
|
|
386
405
|
|
|
387
406
|
def _dispatch_task(args: argparse.Namespace) -> dict[str, Any]:
|
|
407
|
+
if args.task_command == "artifact-create":
|
|
408
|
+
value = build_authored_artifact(
|
|
409
|
+
read_json_object(Path(args.input)),
|
|
410
|
+
kind=args.kind,
|
|
411
|
+
redact_advisory=args.redact_advisory,
|
|
412
|
+
state=read_json_object(Path(args.state)) if args.state else None,
|
|
413
|
+
task_id=args.task,
|
|
414
|
+
repository_root=Path(args.repository_root),
|
|
415
|
+
)
|
|
416
|
+
return create_artifact(Path(args.out), value)
|
|
417
|
+
if args.task_command == "artifact-inspect":
|
|
418
|
+
return inspect_artifact(Path(args.input), max_display_bytes=args.max_display_bytes)
|
|
388
419
|
if args.task_command == "compile":
|
|
389
420
|
execution_strategy = (
|
|
390
421
|
read_json_object(Path(args.strategy), label="execution strategy") if args.strategy else None
|